我刚刚开始阅读有关LINQ的内容,有一件事一直困扰着我。 LINQ将LINQ查询转换为对数据库服务器的相应SQL查询。因为我怀疑LINQ可以将任何代码转换为SQL语句,所以我必须假设这里有一些限制。
因为我想让发送到服务器的查询尽可能具有限制性,LINQ会变成SQL,LINQ变成SQL会不会是什么?
例如,where employee.name == "Test"
看起来非常简单,但where isEven(employee.number)
呢?还是更复杂的东西?
答案 0 :(得分:1)
Here是MSDN页面,详细说明了LINQ to SQL支持的方法。
您将无法在表达式树内部使用自己的方法调用,因为LINQ to SQL无法理解如何将方法转换为SQL。
一些ORM(例如NHibernate)允许您为自己的方法定义自己的生成器以生成SQL(NHibernates案例中的HQL),我不相信L2S支持这一点。