1
我的sqlserver表中的一列是datetime。在where子句中,我只查詢年份(而不是月份和日期)。我必須在LINQ中使用C#來完成它。請讓我知道如何做到這一點。僅使用日期時間的一部分的Linq查詢
例如,如果以下是表中
02/12/2010 2011年7月14日2012年11月15日
的值,如果我的「2011」進行查詢,只中間一排應該被取走。
謝謝
我的sqlserver表中的一列是datetime。在where子句中,我只查詢年份(而不是月份和日期)。我必須在LINQ中使用C#來完成它。請讓我知道如何做到這一點。僅使用日期時間的一部分的Linq查詢
例如,如果以下是表中
02/12/2010 2011年7月14日2012年11月15日
的值,如果我的「2011」進行查詢,只中間一排應該被取走。
謝謝
這可以很容易地完成。見下文
List<DateTime> test=new List<DateTime>{DateTime.Today,DateTime.Today.AddDays(3),DateTime.Today.AddYears(1),DateTime.Today.AddDays(1).AddYears(1)};
test.Where (c => c.Year==2013).Dump();
test.Where (c => c.Year==2012).Dump();
的例子中,結果將是
5IEnumerable<DateTime> (2 items) 4
11/5/2013 12:00:00 AM
11/6/2013 12:00:00 AM
5IEnumerable<DateTime> (2 items) 4
11/5/2012 12:00:00 AM
11/8/2012 12:00:00 AM
編輯: 轉儲()函數是LINQPad的一部分。這不是一個本地的.NET方法。刪除它以在LINQPad之外進行測試。