我正在尝试编写一个如下所示的linq文档查询查询:
var query = _documentClient.CreateDocumentQuery<T>(uri, feedOptions)
.SelectMany(queryExpression).Where(expression)
.AsDocumentQuery();
.Where(expression)
过滤器的父级(下面的客户参考)而不是那个数组元素(订单)。 .SelectMany(queryExpression)
看起来像这样:
customer => customer.Orders
.Where(c => c.OrderId == orderId) &&
c.ORderType == OrderType.Customer)
.Select(d => customer);
当我查看实际的查询字符串时,它看起来像这样:
SELECT VALUE root FROM root JOIN c IN root["Orders"] WHERE (((c["OrderId"] = "635debcf-d77f-430e-90f2-ca51afc6b685") AND (c["OrderType"] = 0)) AND ( c["Age"] > 35)
我想要的是看起来像:
SELECT VALUE root FROM root JOIN c IN root["Orders"] WHERE (((c["OrderId"] = "635debcf-d77f-430e-90f2-ca51afc6b685") AND (c["OrderType"] = 0)) AND ( root["Age"] > 35)
所以我的问题是:有没有办法,使用linq提供程序链接一个WHERE在nestest SELECTMANY语句之外,在这种情况下过滤父文档 - root?