Given:
public class Order
{
public string Name {get;set;}
public List<LineItem> LineItems {get; set;}
}
public class LineItem
{
public string Product {get; set;}
public int Quantity {get; set;}
}
我试图弄清楚如何构建一个查询来返回所有订单don't有一个包含名为“Apple”的产品的 LineItem
我已经思考这个问题有一段时间了。已经出现好几次了问题是 Raven 目前不处理 !.Any() 或 .All() 查询。
这个特殊的例子充分简化了问题,让我开始思考不同的路径。我相信有一个解决方案。它需要针对静态索引进行 lucene 查询:
public class Orders_ByProduct : AbstractIndexCreationTask<Order>
{
public Orders_ByProduct()
{
Map = orders => from order in orders
select new
{
Product = order.LineItems.Select(x => x.Product)
};
}
}
var ordersWithoutApple = session.Advanced
.LuceneQuery<Order, Orders_ByProduct>()
.Where("*:* AND -Product: Apple")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)