2012-08-10 61 views
1

例如:擁有寵物集合的人。我只想列出至少有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中更容易,但我不想「欺騙」

我一直在瘋狂地搜索谷歌和一切,我發現無論是不編譯或我得到

回答

1

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

+0

真棒,謝謝運行時錯誤。就是這樣。我還需要包含以下命名空間: 使用NHibernate.Linq; – getit 2012-08-13 14:23:48