[asp.net-mvc]这是为什么陷入运行时间?

发布时间: 2017/3/25 15:46:48
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

以下代码的问题是什么?

var results = db.Departments.Select(x => customfunction(x.DepartmentID));
results.toList();

解决方法 1:

为什么这是在编译时未被捕获,但会在运行时引发异常呢?

有许多不同的 LINQ 提供程序使您可以使用 LINQ 对各种数据源 (LINQ 到实体,LINQ 到对象,LINQ 到其中的 XML)。

虽然 LINQ 到实体不知道如何调用自定义方法 (至少,不供应商共同数据库),一些 LINQ 提供程序可能会了解如何执行 myfunction 。 编译器不与所有许多 LINQ 提供程序,集成,因此您自定义的方法是否可以包含信息只是在运行时可用。

事实上,LINQ 到对象可以执行它

var results = db.Departments
              .AsEnumerable()
              .Select(x => myfunction(x.DepartmentID));
赞助商