2012-08-14 33 views

回答

8

您可以使用此代碼段用於內存查詢:

var theDate = new DateTime(2012, 08, 10); 
var entriesOnTheDate = list.Where(item => item.DateTimeField.Date.Equals(theDate)); 

用於查詢針對SQL Server數據源,您可以使用SqlFunctions.DatePart提取日,月,年,並分別比較。

var entriesOnTheDate = dbContext 
    .EntriesWithDateTimeField 
    .Where(item => SqlFunctions.DatePart("Year", item.DateTimeField) == 2012 
       && SqlFunctions.DatePart("Month", item.DateTimeField) == 8 
       && SqlFunctions.DatePart("Day", item.DateTimeField) == 12); 
+0

T只有日期真的很容易。 +1 – 2012-08-14 14:45:44

2
entries.Where(e => e.Property.Date == new DateTime(2012, 08, 10)) 
2

您可以添加的時間範圍內涵蓋整個一天:

entries.Where(e => e.Property.Date >= new DateTime(2012, 08, 10) 
        && e.Property.Date < new DateTime(2012, 08, 11)); 
1
使用EntityFunctions.TruncateTime

怎麼樣(EF 6日起)

var result = context.Employees 
.Where(x => EntityFunctions.TruncateTime(x.LoginDate) ==DateTime.Today) 
.FirstOrDefault(); 

命名空間: System.Data.Objects.EntityFunctions.TruncateTime

相關問題