如何转换QueryOver<>代码使用Query<>与NHibernate 3.3

时间:2012-06-04 18:34:04

标签: nhibernate linq-to-nhibernate

我有一个有B级列表的A级...... 所以,使用QueryOver我有:

ClassB lb = null;  
var result = session.QueryOver<ClassA>
        .JoinAlias(x => x.ListB, () => lb, JoinType.LeftOuterJoin)
        .Where(() => lb.Property == 1)
        .List<ClassA>();

如何使用Nhibernate Query&lt;&gt; ?

由于

1 个答案:

答案 0 :(得分:1)

假设您要做的是获取ClassA至少有一个ClassB Property == 1的列表:

var result = session.Query<ClassA>()
                    .Where(a => a.ListB.Any(b => b.Property == 1))
                    .ToList();

但这不是外部联接。您可以通过添加|| !a.ListB.Any()来模拟它。