Linq中的规范函数指向不起作用的实体
本文关键字:不起作用 实体 函数 范函数 Linq | 更新日期: 2023-09-27 18:00:31
尝试在我的代码中运行此查询:
var rslt = ent.AppointmentDiaries.Where(s => s.DateTimeScheduled >=
fromDate && EntityFunctions.AddMinutes(
s.DateTimeScheduled, s.AppointmentLength) <= toDate);
它不断与分手
An exception of type 'System.NotSupportedException' occurred in EntityFramework.SqlServer.dll but was not handled in user code
Additional information: LINQ to Entities does not recognize the method 'System.Nullable`1[System.DateTime] AddMinutes(System.Nullable`1[System.DateTime], System.Nullable`1[System.Int32])' method, and this method cannot be translated into a store expression.
使用实体框架6.1.0…
我知道规范的guctions,所以我希望EntityFunctions.AddMinutes能够处理代码优先查询。。。
知道我做错了什么吗?
在实体框架6中,EntityFunctions
已被DbFunctions
取代。旧类现在被标记为已过时,将来将消失。
我必须承认,当你在谷歌上搜索发布说明时,这并不明显。然而,有一个博客描述了如何升级到提到此更改的EF6。
是的,就像@Gert说的那样。这是它的代码:
var rslt = ent.tbl_Appoiment_Diary.Where(s => s.DateTimeScheduled >= fromDate && DbFunctions.AddMinutes(s.DateTimeScheduled, s.AppointmentLenght) <= toDate);
希望这能有所帮助。再次感谢信息@Gert!干杯