|
|
1
9
EntityFunctions (通用)或 SqlFunctions (仅限SQL Server),它在正常的LINQ to Entities查询中提供了许多内置数据库功能。如果这还不够,你可以用 EdmFunctionAttribute 映射内置数据库函数或用户定义的存储过程。第三种选择是尝试使其作为实体SQL查询工作。 MSDN Code . 不过,我会把这当作最后的手段。 |
|
|
2
1
从基于.NET的LINQ查询到SQL的转换由 LINQ到实体提供程序 . 我认为核心翻译/编译过程极其复杂,是不可扩展的。您必须从头开始编写自己的提供者。 我还没有遇到任何可以用SQL表示而不能用LINQ表示的查询。如果您确实有一个很难作为LINQ查询编写的查询,您是否考虑过使用存储过程来代替它?如果您能提供一些无法转换的查询的示例,这会有所帮助。
另一个选择是创建高级扩展方法,这些方法使用自定义表达式来形成查询。下面是一个很好的示例,它模拟Contains()函数来执行“where in”类型查询: |