In der LINQ-Anweisung unten möchte ich Personen mit einem Prüfungsdatum im Jahr 2010 auswählen. Das Prüfungsdatum wird als Datum und Uhrzeit gespeichert andere Anwendungen. Was ist der eleganteste, einfachste und beste Weg, das exzam-Datum mit "2010" zu vergleichen? Oder soll ich einfach mit> = dem Prüfungstermin zum 1.1.2010 vergleichen?Verwendung nur des Jahrteils eines Datums für eine WHERE-Bedingung
var active = dc.People.Where(x => x.exam >= 2010)
.Select(x => new {x.ContactID, x.FirstName, x.LastName})
);
x.MostRecent == DateTime.Parse("1/1/2010").Year
EDIT # 1
Ich dachte, ich .year auf dem Prüfungstermin sehen sollte, aber ich tat es nicht. Nachdem ich hier ein paar Beiträge ging ich zurück und fand das funktioniert ...
.Where(x => x.exam.Value.Year == 2010)
Warum ist .Wert notwendig .year zugreifen? Die Prüfung ist eine nullbare Datetime.
'.Value 'ist erforderlich, da' examination 'in Ihrem Modell ein Nullwertfeld ist. (Ich nehme an, dass in Ihrer Datenbank die entsprechende Spalte NULL erlaubt.) –
@Scott - Das stimmt, die DB erlaubt Nullen in dieser Spalte. Vielen Dank. – DenaliHardtail