Próbuję uruchomić następujący fragment kodu, ale porównanie nie powiedzie się, nie przekazując moich jednostek, których oczekuję.Prosty sposób porównywania dat w atrybucie DateTime przy użyciu Entity Framework 4 i zapytań Linq
Jest to porównanie 06/09/2011 0:00:00
do 06/09/2011 12:25:00
, przy czym ta ostatnia jest moją wartością rekordu bazy danych. Dlatego porównanie się nie udaje i nie otrzymuję potrzebnych rekordów.
Próbuję tylko porównać, jeśli daty pasują, nie zależy mi na czasie.
DateTime today = DateTime.Now.Date;
var newAuctionsResults = repo.FindAllAuctions()
.Where(a => a.IsActive == true || a.StartTime.Value == today)
.ToList();
Jak mogę porównać tylko daty?
Jeśli użyć właściwości .Date w części .StartTime.Value, otrzymuję wyjątek:
Podany typ członek „data” nie jest obsługiwana w LINQ do podmiotów. Obsługiwane są tylko opcje inicjalizujące, elementy encji i właściwości nawigacji jednostki .
Może to pytanie pomoże? LINQ | Jak wykonać porównywanie dat w zapytaniu Linq? http://stackoverflow.com/questions/1088212/linq-how-do-i-perform-date-comparison-in-a-linq-query – Kyle