【发布时间】:2010-12-29 13:23:49
【问题描述】:
我正在使用 FluentNHibernate 和 NH 3.0,使用 LINQ 提供程序和新的 QueryOver 语法。
现在使用 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() 的方法,或者我完全理解错误?
【问题讨论】:
-
寻找
SingleOrDefault()。请接受@RRR 的回答。
标签: linq nhibernate linq-to-nhibernate queryover