Ada*_*ley 6 .net c# sql linq linq-to-sql
我有SQL查询
with c as (
select categoryId,parentId, name,0 as [level]
from task_Category b
where b.parentId is null
union all
select b.categoryId,b.parentId,b.name,[level] + 1
from task_Category b join c on b.parentId =
c.categoryId)
select name,[level],categoryId,parentId
as item
from c
Run Code Online (Sandbox Code Playgroud)
我想将它转换为LINQ to SQL,但我的LINQ技能还没有.有人可以帮我转换一下.with和union语句使我对此更加复杂.
任何帮助赞赏.
LINQ-to-SQL仅支持基本查询;CTE 和递归不包含在其中。因此,这是我对 LINQ-to-SQL 的高科技翻译:
var data = ctx.ExecuteQuery<MyStub>(@"
with c as (
select categoryId,parentId, name,0 as [level]
from task_Category b
where b.parentId is null
union all
select b.categoryId,b.parentId,b.name,[level] + 1
from task_Category b join c on b.parentId =
c.categoryId)
select name,[level],categoryId,parentId
as item
from c").ToList();
Run Code Online (Sandbox Code Playgroud)
和
class MyStub {
public string name {get;set;}
public int level {get;set;}
public int categoryId {get;set;}
public int parentId {get;set;}
}
Run Code Online (Sandbox Code Playgroud)