在Cosmos DB中查询$ type字段

时间:2017-10-09 03:20:17

标签: c# linq azure-cosmosdb

我在Cosmos DB中持有一个模型,其中有一些类型继承自其他类型。类似的东西:

    class ParentType {
        public string name;
    }

    class ChieldTypeOne : ParentType {
        public string propertyA;
    }

    class ChieldTypeTwo : ParentType {
        public string propertyB;
    }

    class ThirdType {
        public List<ParentType> Parents;
    }

当我尝试使用Linq查询Parent.propertyB ='somevalue'的所有ThirdType文档时,我发现我无法使用TypeOf&lt;&gt;使用Cosmos DB .NET客户端。我尝试使用SQL,但我不知道如何查询以$开头的字段来查询$ type字段,这是由Json.NET创建的,用于区分文档类型。

有人经历过这种情况并找到了解决办法吗?

THKS,

路易斯

1 个答案:

答案 0 :(得分:0)

简单的答案是使用索引访问,如:

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