Ali*_*ani 6 c# sql-server entity-framework database-first
我有一个像这样的SQL表:
DepartmentID是部门的父母.我通过这个表构建了一个树(在ASP.net(C#)项目中):
上面树中的记录是:
我需要让父母在这棵树上.
我可以在SQL Server中这样做(例如id=2,id输入参数):
with cte1
as
(
select id,name,DepartmentID, 0 AS level
from Department
where id =2
union all
select Department.ID,Department.name,Department.DepartmentID, level+1
from Department
inner join cte1 on Department.ID=cte1.DepartmentID
)
select * from cte1
Run Code Online (Sandbox Code Playgroud)
输出(id = 2(A))
输出(id = 4(A1))
我知道EF不支持cte,但我需要在EF中获得此结果.
如果有人可以解释这个问题的解决方案将是非常有帮助的.
小智 2
这些帖子与您的问题类似。请参阅以下内容:
使用实体框架流畅语法或内联语法
编写递归 cte 将包含 with-cte 的 sql 语句转换为 linq
我认为没有办法编写一个可以获取所有内容的 LINQ to SQL 查询。但是,LINQ 支持一种执行查询的方法(奇怪的是,称为 DataContext.ExecuteQuery)。看起来您可以使用它来调用任意 SQL 片段并将其映射回 LINQ。
请参阅这篇文章: 实体框架中的公共表表达式
| 归档时间: |
|
| 查看次数: |
3722 次 |
| 最近记录: |