我正在使用Nhibernate 3.0,在QueryOver收集方面有问题。我有实体
Order{
List<Item> items;
}
Item
{
Product product;
}
Product
{
String name;
}订单和项目之间是一对多的关系。我想要使用sql的QueryOver< Order>等价物获得具有给定名称的产品的所有订单的列表:
Select DISTINCT or.* From [Order] or
LEFT JOIN Item it on it.OrderId=or.OrderId
LEFT JOIN Product pr on pr.ProductId=it.ProductId
WHERE p.Name ='NameToSearch'发布于 2014-08-20 04:41:14
Item alias=null;
session.QueryOver<Order>.JoinQueryOver(o=>o.items, ()=>alias)
.JoinQueryOver(i=>i.product)
.Where(p=>p.Name.IsInsensitiveLike("NameToSearch")).
.TransformUsing(Transformers.DistinctRootEntity);完成了工作:)
https://stackoverflow.com/questions/25392331
复制相似问题