Ich spiele mit FluentNHibernate und NH 3.0, mit dem LINQ-Provider und der neuen QueryOver-Syntax.NHibernate 3.0: Nein FirstOrDefault() mit QueryOver?
Jetzt mit QueryOver möchte ich einen Artikel erhalten (so genannte Ergebnis) mit einem Zeitstempel Wert so nahe wie möglich auf einen bestimmten Wert, aber nicht größer:
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
Nun Intellisense sagt mir, dass es keine so etwas wie eine FirstOrDefault()
Methode. Ich könnte natürlich meine geordnete Abfrage aufzählen und dann LINQ verwenden, um meinen Artikel zu bekommen. Dies würde jedoch zuerst alle Elemente in den Speicher laden.
Gibt es eine Alternative zu FirstOrDefault()
, oder habe ich etwas völlig falsch verstanden?
Suchen Sie nach 'SingleOrDefault()'. Bitte akzeptieren Sie die Antwort von @RRR. –