在nhibernate查询中过滤子查询

时间:2012-12-17 14:12:17

标签: c# sql nhibernate

我有两个一对多关系的表:

product  -> orders

Products表(父母)中,我拥有可以销售的最大产品数量,在子表(订单)中,我拥有每行销售的产品数量。 我需要列出我有库存的产品清单,按

过滤
 orders.count() <= product.NumberOfProductsInStock

如何使用nhibernate中的查询来完成此操作?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

CurrentSession.Linq<Product>()
    .Where(p => p.NumberOfProductsInStock > 0 && (p.Orders.Count() == 0 || p.Orders.Count() <= p.NumberOfProductsInStock))
    .ToList();