Ich habe eine Linq-Abfrage, die auf eine var Typ zurückgibt myQryVergleich Daten in Abfrage LINQ mit
var myQry = from .....
Dies ist eine große Linq alle Datensätze zurückgibt, die ich weiter filtern müssen. In einem meiner Wenn-Bedingungen habe ich einen Filter, der so läuft, um das Datum zu überprüfen. Ich muss überprüfen, ob der Name den eingegebenen Namen enthält und genau dem Geburtsdatum entspricht.
Ich habe versucht, die kompiliert und lief, aber funktionierte nicht korrekt
myQry.Where(x => x.FirstName.Contains(strName) && DateTime.Compare(x.BirthDt, searchDt)>=0).ToList()
Dann habe ich versucht diese, die eine Ausnahme geworfen gab
myQry.Where(x => x.FirstName.Contains(strName) && (x.BirthDt- searchDt).Days == 0).ToList();
„einen numerischen gemeinsamen Typ DbArithmeticExpression Argumente haben müssen“ Für eine solche Situation, in der ich eine where-Klausel für meine Abfrage verwende, was wäre der beste Weg, einen Datumsvergleich durchzuführen? Welche Art von Operationen sind in der Where-Klausel einer LinQ-Abfrage nicht erlaubt?
Vielen Dank für Ihre Zeit ...
Was ist der Typ von 'x.BirthDt'? Was ist der Typ von 'searchDt'? Anscheinend sind sie nicht beide "DateTime". – Servy
Und bist du in linq2sql oder linq2entities? –
Beide sind Datetime. Ich bin in linq2sql – user20358