NHibernate限制儿童收集计数

问题描述:

例如:拥有宠物集合的人。我只想列出至少有5只宠物的人。NHibernate限制儿童收集计数

我曾尝试:

var result = (from a in UnitOfWork.CurrentSession.QueryOver<Person>() 
          where a.Pets.Count >4 
          select a 
       ).List() 

但它说(因为它不是一个数据库字段,它是有道理的),它不承认财产计数。我也尝试过Count(),它仍然不起作用,说它不理解那个函数(抛出异常)。

我试过各种子查询和标准方法,但我不知道把它放在一起。我不知道我是否使用LINQ或HQL或QueryOver或Criteria ...这将在SQL中更容易,但我不想“欺骗”

我一直在疯狂地搜索谷歌和一切,我发现无论是不编译或我得到

您正在使用QueryOver,而不是LINQ(Query<T>()扩展方法)

+0

真棒,谢谢运行时错误。就是这样。我还需要包含以下命名空间: 使用NHibernate.Linq; – getit 2012-08-13 14:23:48