0

我刚刚开始阅读有关 LINQ 的内容,但有一件事一直困扰着我。LINQ 将 LINQ 查询转换为对数据库服务器的相应 SQL 查询。由于我怀疑 LINQ 可以将任何代码转换为 SQL 语句,因此我必须假设这里有一些限制。

由于我希望尽可能限制发送到服务器的查询,LINQ 可以变成 SQL,而 LINQ 不能变成 SQL?

例如where employee.name == "Test",转换看起来很简单,但是呢where isEven(employee.number)?或者更复杂的东西?

4

1 回答 1

1

是 MSDN 页面,详细说明了 LINQ to SQL 支持的方法。

您将无法在表达式树中使用自己的方法调用,因为 LINQ to SQL 不了解如何将方法转换为 SQL。

一些 ORM(例如 NHibernate)允许您为自己的方法定义自己的生成器来生成 SQL(NHibernates 中的 HQL),我不相信 L2S 支持这一点。

于 2013-06-27T23:01:13.980 回答