【发布时间】:2022-01-19 03:30:09
【问题描述】:
我在这里有一个简单的 LINQ 查询,但出现异常
函数只能从 LINQ 调用到实体
不确定它可能是什么,我知道它与我正在使用的 SqlFunctions 有关,但无法弄清楚原因。我已经看到了类似问题的先前解决方案,但我相信它不适用于这种情况 (This function can only be invoked by LINQ to Entities after Entity Framework update)。
DateTime begin = new DateTime(2021, 1, 1);
DateTime end = new DateTime(2022, 1, 1);
var dataSet = from e in _db.animals
where e.age == 2 &&
SqlFunctions.DateDiff("yy",begin, end) < 2
select e.AnimalType
【问题讨论】:
-
你如何使用
dataSet? -
你使用实体框架吗?如果是这样,使用 EntityFunctions stackoverflow.com/questions/15637317/… 可能更合适
-
是的,我正在使用实体框架。我也尝试过使用 EntityFunctions,但也没有太多运气。我最后将数据集作为 jsonresult 返回 - return new JsonResult(dataSet.ToDataSourceResult(request))
-
提及实体框架的确切版本总是很重要的。请添加适当的标签。
-
@user2785460
_db和animals是什么? full 异常文本是什么,包括调用堆栈?只有当您尝试在 LINQ to 对象中使用 EF 函数时,才会抛出您发布的错误。ToDataSourceResult内部是否抛出异常?这个方法从何而来?