2012-08-14 46 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

相关问题