1
4

1 回答 1

4

QueryOver 不是 LINQ。

您的第二个代码片段有效,因为它正在检索所有记录并在内存中使用 LINQ-to-objects。

你应该做的是:

session.Query<A>()
       .Where(a => a.B.Count() > 0)
       .ToList();

或者更好:

session.Query<A>()
       .Where(a => a.B.Any())
       .ToList();

Query是扩展方法,需要添加using NHibernate.Linq;

于 2011-04-25T20:06:27.113 回答