我一直在使用NHibernate 2.0.1.4000
所有當前的.NET 3.5 SP1項目,並沒有任何其他查詢(使用Query或Criteria API)的問題,直到一些新的業務邏輯決定了在這個特定項目中對於需要從單個表中檢索具有特定null屬性(類型DateTime)的應用程序的數據庫的新查詢的必要性。NHibernate 2.0.1條件:IsNull限制拋出異常
由於知道您不能對此類查詢使用不等於限制,而是可以使用IsNull限制,因此此簡單查詢會生成「值不能爲空!」。執行時異常。我有廣泛的DEBUG模式log4net日誌文件,我已經審查過,但還沒有幫助,並且我已經驗證我的表的類確實指定了我正在檢查的屬性是一個可爲空的屬性(DateTime?)以避免這可能是由於強制更新記錄等引起的,這在此處不會發生......
以下是查詢,沒有什麼複雜的,我試過用/不用MaxResults額外的限制來消除它出了問題,可是,每次,異常得到投擲之前,我可以收集結果:
ICriteria criteria = session.GetISession().CreateCriteria(typeof (Order)).Add(NHibernate.Criterion.Restrictions.IsNull("ShippedOn")).SetMaxResults(10);
IList<Order> entityList = criteria.List<Order>();
任何意見或指針,可以幫助我解決這個的更多信息?我已經嘗試過使用HQL或者相同的問題......我在這裏丟失了關於返回具有特定null屬性的記錄的東西嗎?
死鏈接,fwiw。 [Archive.org](https://web.archive.org/web/20090402133829/http://blog.jagregory.com/2007/12/18/nhibernate-and-the-sqltypeexception) – ruffin 2014-05-12 21:25:32