Zapytanie linq i sprawdzenie daty

0

Witam

pobieram z tabeli dane: from o in db.Artykul where !o.IsAdmin && !o.IsHidden && o.ArtOpublikuj orderby o.DateAdded descending select o

ale w tabeli jest jeszcze pole ArtOpublikowanyDo typu datetime i przechowuje wartość: 2024-12-31 1800.000

Czy bezpośrednio w zapytaniu mogę pobrać rekordy których ArtOpublikowanyDo <= od bieżącej daty (chodzi mi o sprawdzenie samej daty bez godz.)?

Robiłem tak: && o.ArtOpublikowanyDo <= DateTime.Today ()
Ale to mi nie działa.

Dzięki za pomoc.
Andrzej

0

(DateTime.Now - o.ArtOpublikowanyDo) >= 0

0

(DateTime.Now - o.ArtOpublikowanyDo).Days >= 0

0

po dodaniu tego warunku

from o in db.Artykul where !o.IsAdmin && !o.IsHidden && o.ArtOpublikuj && o.ArtKategoria == ArtKategoria.Miniaturka && (DateTime.Now - o.ArtOpublikowanyDo).Days <= 0 orderby o.DateAdded descending select o

w widoku mam następujący błąd

System.ArgumentException
HResult=0x80070057
Message=DbArithmeticExpression arguments must have a numeric common type.
Source=EntityFramework

0
GAMMIS napisał(a):

Robiłem tak: && o.ArtOpublikowanyDo <= DateTime.Today ()
Ale to mi nie działa.

Tzn. co się dzieje?

0

zapytanie wykonuje się poprawnie
i zwraca zero rekordów a powinno zwrócić co najmniej 2 rekordy

w tabeli mam 31.12.2024 1800 a DateTime.Today zwraca 07.07.2018 0000

chciałbym pominąć godzinę
i sprawdzić tylko dd.mm.yyyy

0

Chcesz to po prostu zamienić i odjąć? szedłbym pewnie w tym kierunku, ale z format i IFormatProvider sam się baw

var dt = DateTime.ParseExact("11.12.2024 18:23:00", "d.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

Console.WriteLine("year: " + dt.Year);
Console.WriteLine("month: " + dt.Month);
Console.WriteLine("day: " + dt.Day);
Console.WriteLine("hour: " + dt.Hour);

var timeSpan = dt.Subtract(new DateTime(2024, 12, 10));

Console.WriteLine("new timeSpan: " + timeSpan.TotalHours);
0

Lub TryParse :)

0
GAMMIS napisał(a):

chciałbym pominąć godzinę
i sprawdzić tylko dd.mm.yyyy

Właściwość DateTime.Date?

1 użytkowników online, w tym zalogowanych: 0, gości: 1