Chciałbym pobrać wszystkie zapisy z konkretnego dnia, bez względu na to, która godzina jest związana z tymi rekordami. Do tej pory mam metodę tak:Pobieranie rekordów według daty z tylko jednodniowym porównaniem części za pomocą 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);
}
Ale w LINQ-obiektu możemy zrobić (zakładając Tabela jest teraz niektóre kolekcja):
public IEnumerable<Record> QueryByDay(DateTime day)
{
return repository.Table
.Where(t => t.MyDate.Date == day.Date);
}
co jest oczywiście bardziej czytelne i czuje się bardziej czyste . Zastanawiam się, czy istnieje lepszy sposób na napisanie pierwszej metody przy użyciu pamięci bazy danych i nhibernate?
Uważam, że forma, której używałeś do L2O, działa dobrze z NH. –
@Diego Mijelshon Czy możesz mi powiedzieć, która wersja NHibernate, której używasz, działa? W projekcie, nad którym pracuję, używamy wersji 2.1, a to rzuca wyjątek NHibernate.QueryException. – 0lukasz0
2.1 ma 3 lata i nie jest obsługiwany. 3.3 jest bieżącym stabilnym wydaniem. –