Wie kann ich LINQ-Filter-Abfrage nach Datum?
query = query.Where(q => q.Date.ToString().Contains(strDate));
Obige Aussage ist nicht korrekt.
Wenn ich das"==", Dann wird Sie entsprechen dem genauen Datum. Das ist O. K. aber kann ich filtern, Wie wir Sie filter-Zeichenfolgen ??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht wirklich, was meinst du mit "filter".
Können Sie tun Sachen wie:
oder
wenn es das ist, was Sie suchen.
Natürlich haben Sie gewirkt strDate, um ein DateTime-Wert ist. Wenn Sie wirklich nicht wollen, zu tun, können Sie werfen auch die DB-Datum in einen string mit dem gleichen format:
Unter der Annahme, dass q.Date ist eine Instanz von DateTime, ich glaube nicht, dass das konvertieren einer DateTime-Instanz in einen String ist die beste Möglichkeit zum vergleichen von Daten. Es wäre viel zuverlässiger filter der DateTime-basierend auf den Eigenschaften des Objekts. Zum Beispiel, Jahr, Monat, etc ...
Zum Beispiel, wenn Sie wollten-filter auf das Jahr, in strDate können Sie das folgende tun.
Können Sie uns mehr Kontext durch eine Beschreibung, welche Art von Werten strDate enthalten würde, die Art und Weise wir wissen können, was Sie wollen, filter gegen.
Wenn Sie sicher sind, über die Zeichenfolge, die Sie in Ihre Suche ein, dann können Sie immer tun, enthält eine speziell auf Ihre region.
Erzeugen würde eine übereinstimmung für
d/m/yyyy
string gesucht, der auf das Datum zum Beispiel. Dies ist nicht ideal für eine öffentliche Suche, aber es ist besser, als ein einfaches.ToString().Contains()
.