在下面的LINQ語句中,我想在2010年選擇具有考試日期的人員。考試日期作爲日期時間存儲,因爲實際日期和時間用於其他應用。什麼是最優雅,最簡單,最好的方式來比較exzam日期只有'2010'。或者,我應該比較一下,使用> =,考試日期爲2010年1月1日?在WHERE條件中僅使用日期的年份部分
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
編輯#1
我想我應該看到在考試日期.Year,但我沒有。看到這裏的一些帖子後,我回去發現這個作品...
.Where(x => x.exam.Value.Year == 2010)
爲什麼.Value訪問.Year?考試是可以空的日期時間。
`.Value`是必要的,因爲`exam`是您模型中的一個可爲空的字段。 (我認爲在你的數據庫中相應的列允許NULL)。 – 2011-01-14 18:45:44
@Scott - 這是正確的,DB允許在該列中的空值。謝謝。 – DenaliHardtail 2011-01-14 18:48:06