使用Join将SQL查询转换为Lambda表达式 [英] Convert SQL query with join to lambda expression
本文介绍了使用Join将SQL查询转换为Lambda表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
不确定如何将以下sql转换为lambda表达式.我的数据库使用参照完整性和与表Content_Training相关的表Content处于一对多关系(1个内容可以具有许多content_trainings)
not sure how to convert the following sql into a lambda expression. My database uses referential integrity and table Content related to table Content_Training in a 1 to many relationship (1 content can have many content_trainings)
select c.ContentId, c.Name, ct.TrainingTypeId
from dbo.Content c left join dbo.Content_Training ct on c.ContentId = ct.ContentId
where c.PublishDate is not null
order by ct.TrainingTypeId, c.Name
推荐答案
尝试以下查询:
var results = (from c in dbcontext.Contents
join ct in dbcontext.Content_Trainings on c.ContentId equals ct.ContentId into t
from rt in t.DefaultIfEmpty()
select new
{
c.ContentId,
c.Name,
TrainingTypeId = (int?)rt.TrainingTypeId
}).OrderBy(r => r.TrainingTypeId)
.ThenBy(r => r.Name);
这篇关于使用Join将SQL查询转换为Lambda表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文