链接到实体SqlFunctions.DatePart
本文关键字:DatePart SqlFunctions 实体 链接 | 更新日期: 2023-09-27 18:13:13
这段代码产生了一个错误:
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到实体无法识别方法'System. nullable ' 1[System. null]Int32] DatePart(系统。字符串,System.Nullable ' 1[System.DateTime])'方法,此方法不能转换为存储表达式。
我看不出我在SqlFunctions.DatePart
上做错了什么。列TIMEMARK是Sqlserver DateTime类型。
什么好主意吗?
您可以从程序集EntityFramework.SqlServer.dll (Entity Framework 6.1.3)中使用System.Data.Entity.SqlServer.SqlFunctions,例如:
myTable.Where (w =>
(System.Data.Entity.SqlServer.SqlFunctions.DatePart("weekday", w.Data).Value == 1);
DbFunctions.DiffDays(Date1,Date2)==1
如果a. timemark是日期,则可以使用a. timemark . day
写day而不是day
SqlFunctions.DatePart("day", a.TIMEMARK) == 1).ToList();
因为day代表
dd, d
查看更多详细信息:-
http://www.w3schools.com/sql/func_datepart.asp