Ich möchte alle Datensätze von bestimmten Tag abrufen, egal welche Zeit mit diesen Datensätzen verbunden ist. Bisher habe ich Methode wie folgt:Abrufen von Datensätzen nach Datum mit nur Tag Teil Vergleich mit Nhibernate
public IQueryable<Record> QueryByDay(DateTime day)
{
DateTime from = day.Date;
DateTime to = day.Date.AddDays(1);
return repository.Table
.Where(t => t.MyDate >= from && t.MyDate < to);
}
Aber in Linq-zu-Objekt, das wir tun können (vorausgesetzt Tabelle ist jetzt einige Sammlung):
public IEnumerable<Record> QueryByDay(DateTime day)
{
return repository.Table
.Where(t => t.MyDate.Date == day.Date);
}
, die offensichtlich besser lesbar ist und fühlt sich mehr sauber . Ich frage mich, ob es eine bessere Möglichkeit gibt, die erste Methode mit Datenbankspeicher und Nhibernate zu schreiben?
Ich glaube, die Form, die Sie für L2O verwendet haben, funktioniert gut mit NH. –
@Diego Mijelshon Können Sie mir sagen, welche Version von NHibernate Sie verwenden, dass es funktioniert? Bei dem Projekt, an dem ich arbeite, verwenden wir Version 2.1 und werfen NHibernate.QueryException. – 0lukasz0
2.1 ist 3 Jahre alt und nicht unterstützt. 3.3 ist die aktuelle stabile Version. –