C# 将Sql命令转换为Linq或lambda表达式
我有以下sql命令C# 将Sql命令转换为Linq或lambda表达式,c#,entity-framework,linq,C#,Entity Framework,Linq,我有以下sql命令 SELECT e1.name,e1.id,e1.categoryid,e2.name as categoryname FROM Category e1 left join Category e2 ON e2.id = e1.CategoryId 我想将其转换为linq到sql或lamda,但我不知道如何转换 我也试过这个代码 var query = from q in web.Categorys join q1 i
SELECT e1.name,e1.id,e1.categoryid,e2.name as categoryname
FROM Category e1
left join Category e2
ON e2.id = e1.CategoryId
我想将其转换为linq到sql或lamda,但我不知道如何转换我也试过这个代码
var query = from q in web.Categorys
join q1 in web.Categorys
on q.Id equals q1.CategoryId into j
select j;
但是它的结果与sql命令不同(它有许多空行!)请尝试这种方法
var query = from q in web.Categorys
from q1 in web.Categorys.Where(x=> x.id == q.CategoryId ).DefaultIfEmpty()
select q;
虽然这不是我的答案,但你给了我解决它的线索