我正在使用 LINQ 提供程序和新的 QueryOver 语法使用 FluentNHibernate 和 NH 3.0。
现在使用 QueryOver 我想获得一个时间戳值尽可能接近给定值但不更大的项目(称为结果):
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()
,或者我是否理解完全错误的东西?