2017-10-09 2 views
0

Ich habe ein Modell in Cosmos DB persistiert, wo ich einige Typen habe, die von anderen Typen erbt. Etwas wie:

class ParentType { 
     public string name; 
    } 

    class ChieldTypeOne : ParentType { 
     public string propertyA; 
    } 

    class ChieldTypeTwo : ParentType { 
     public string propertyB; 
    } 

    class ThirdType { 
     public List<ParentType> Parents; 
    } 

Als ich für alle ThirdType Dokumente abfragen versucht, wo Parent.propertyB = 'somevalue', mit Linq, entdeckte ich, dass ich nicht TypeOf <> mit Cosmos DB .NET-Client verwenden können. Ich habe versucht, SQL zu verwenden, aber ich weiß nicht, wie man nach Feldern fragt, die mit $ im Namen begonnen wurden, um $ type Felder abzufragen, die von Json.NET erzeugt werden, um für Arten von Dokumenten zu unterscheiden.

Jemand hat diese Situation erlebt und eine Lösung gefunden?

Thks,

Luiz

Antwort

0

Die einfache Antwort ist: Verwenden Sie indizierte Accessor wie:

Select * From c Wo c [ "$ type"] = "TheType"

Verwandte Themen