我正在尝试使用FluentNHibernate和NH 3.0,使用LINQ提供程序和新的QueryOver语法。
现在,我想使用QueryOver获取一个项(称为result),其时间戳值尽可能接近给定值但不大于它:
Result precedingOrMatchingResult = Session.QueryOver<Result>().
Where(r => r.TimeStamp < timeStamp).
OrderBy(r => r.TimeStamp).Desc.
FirstOrDefault(); //get the preceding or matching result, if there is any
现在,Intellisense告诉我FirstOrDefault()
方法不存在。当然,我可以枚举我的有序查询,然后使用LINQ获取我的项。但这会首先将所有项加载到内存中。
是否有替代FirstOrDefault()
的方法,或者我完全理解错了什么?
SingleOrDefault()
。请接受 @RRR 的答案。 - Brian Chavez