这段代码出现了错误:
void GetLog()
{
List<CAR_STATUS_LOGS> logs = null;
using (TESTEntities ctx = new TESTEntities())
{
logs =
ctx.CAR_STATUS_LOGS
.Where(a => SqlFunctions.DatePart("DAY", a.TIMEMARK) == 1)
.ToList();
}
}
错误如下:
LINQ to Entities不识别方法“System.Nullable`1[System.Int32] DatePart(System.String,System.Nullable`1[System.DateTime])”,此方法无法转换为存储表达式。
我无法看出在SqlFunctions.DatePart上出了什么问题。TIMEMARK列是Sqlserver DateTime类型。有任何想法吗?
.Select(a => SqlFunctions.DatePart("day", a.TIMEMARK)).ToList()
替换了原来的.Where(a => a.TIMEMARK.Day == DateTime.Now.Day)
的话。 - Raphaël Althaus