实体框架可以支持使用CTE /行号的SQL查询吗?
<DefiningQuery> </DefiningQuery>
.edmx文件的属性?
关于本文中使用以下功能给我的查询:Complex / Algorithmic SQL Query
我从sql获取以下InnerException:
Incorrect syntax near the keyword 'with'.
Incorrect syntax near the keyword 'with'. If this statement is a common table ex
pression, an xmlnamespaces clause or a change tracking context clause, the previ
ous statement must be terminated with a semicolon.
Incorrect syntax near ','.
Incorrect syntax near ','.
Incorrect syntax near ')'.
在开头的“ with”语句之前添加分号不能解决问题。它在';'附近显示不正确的语法在这种情况下。
如果不支持,我想我可以将存储过程绑定到复杂的实体,但是还有其他选择吗?
谢谢。
最佳答案
这篇文章没有指定CTE是递归的还是非递归的。使用递归CTE可能会具有令人信服的性能原因,而这种CTE可能超过了抽象数据库的需求(即使用EF作为ORM)。
在Entity Framework 4中,Martin上面提到使用视图时有一些解决方法。 Matthieu Mezil(http://msmvps.com/blogs/matthieu/archive/2010/06/16/how-to-include-recursion-table-valued-functions-in-linq-to-entities-queries-with-ef4.aspx)的博客文章
有关如何执行此操作的详细信息。
关于c# - Entity Framework <DefiningQuery>中的CTE Sql查询支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4600185/