将Sql命令转换为Linq或lambda表达式

本文关键字:lambda 表达式 Linq Sql 命令 转换 | 更新日期: 2023-09-27 18:11:25

我有以下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或者lambda但是我不知道怎么做
我也试过这个代码

  var query = from q in web.Categorys
                     join q1 in web.Categorys
                         on q.Id equals q1.CategoryId into j
                     select j;  

但是它的结果不同于sql命令(它有许多空行!)

将Sql命令转换为Linq或lambda表达式

试试这个

var query = from q in web.Categorys
            from q1 in web.Categorys.Where(x=> x.id == q.CategoryId ).DefaultIfEmpty()
                     select q;