Я играю с 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()
, или я понял что-то совершенно неправильное?