如果我为我的实体对象创建扩展方法并尝试在LINQ表达式中使用它,我会收到错误。这是一个限制,我不能做什么,或者我错过了什么?
问候 弗雷迪
答案 0 :(得分:2)
问题是LINQ-to-Entities提供程序将尝试将扩展方法转换为SQL语句。 LINQ-to-Entities有效地要求整个LINQ查询表达式可以转换为SQL(注意LINQ-to-SQL没有这个限制; LINQ-to-Entities在客户端空间和服务器空间之间划定了一条固定线,而LINQ-to -SQL更宽松)。根据您的扩展方法,这可能无法完成。也就是说,如果有任何方法调用等无法转换为SQL以作为服务器端的查询,请忘记它。