我一直在努力解決這個問題很長時間,我無法正常工作。我想要做的是獲得比指定條目早的日期條目。爲了您的理解,我將向您展示以下代碼片段:爲什麼Nhibernate.Linq引發異常「方法Compareto未實現」?
var post = _session.Linq<PostModel>()
.Where(o => o.PostId == id)
.FirstOrDefault();
return _session.Linq<PostModel>()
.Where(o => DateTime.Compare(post.PostDate, o.PostDate) >= 0)
.ToList();
這不行!它將把我一個異常說:
The method Compareto is not implemented.
我已經試過落實「的IComparer」我PostModel,但這似乎不是在這裏是問題。雖然,這將工作,如果我第一次所有條目轉換到一個列表,然後對它們進行比較,就像這樣:
return _session.Linq<PostModel>().ToList()
.Where(o => DateTime.Compare(post.PostDate, o.PostDate) >= 0)
.ToList()
但我的理解,在任何情況下將所有條目列表,會引起NHibernate的選擇所有條目。如果我們談論少量的參賽作品,這可能不成問題,但從長遠來看,這會浪費一些時間。
有沒有人有任何想法?
TIA
我不能相信我之前沒想到的是..謝謝你這麼多! – 2011-04-09 14:23:00