如何使Document DB LINQ提供程序生成带有第三个参数的ARRAY_CONTAINS查询

时间:2018-07-19 10:59:13

标签: linq azure-cosmosdb

好像Cosmos DB LINQ提供程序可以翻译:

forms.Where(x => x.Clients.Contains(new Client { Id = 100 }) 

至:

WHERE ARRAY_CONTAINS(root["clients"],{"id":100, "number": null})

模型:

public class Client
{
        [JsonProperty("id")]
        public int Id { get; set; }

        [JsonProperty("numner")]
        public int? Number { get; set; }    
}

但是我真正需要的是使用partialMatch(默认情况下,ARRAY_CONTAINSfalse的第三个可选参数)。

那么是使LINQ提供程序生成以下查询的方法吗?

WHERE ARRAY_CONTAINS(c["clients"],{"id":100}, true)

我尝试使用.Any(),但是有一个例外(在这种情况下似乎不支持Any)。 也许可以以某种方式使用IEqualityComparer<TSource>

0 个答案:

没有答案