C# 如何在EF中将Sql查询转换为Linq
谁能告诉我如何使用EF编写linq查询。我的sql查询是C# 如何在EF中将Sql查询转换为Linq,c#,entity-framework,linq,C#,Entity Framework,Linq,谁能告诉我如何使用EF编写linq查询。我的sql查询是 select * from (select tr.Training_id, tr.title, tr.create_on, tr.modified_on, max(lo.created_on) as lastDate from [trainig] tr join [training_video_log] lo
select * from
(select tr.Training_id,
tr.title,
tr.create_on,
tr.modified_on,
max(lo.created_on) as lastDate
from [trainig] tr
join [training_video_log] lo
on tr.Training_id = lo.fk_trainingvideo_resource_file
and lo.fk_user_id = 1050
group by tr.Training_id, tr.title, tr.create_on, tr.modified_on) X
Where modified_on > lastDate
可能会帮助您从选择数据开始
对于上面的查询,您正在查找以下内容:
var result = from tr in _db.Training
join lo in _db.Training_video_log
on tr.Training_id equals lo.fk_trainingvideo_resource_file
where lo.fk_user_id = 1050 &&
tr.modified_on > lastDate
group new { tr, lo }
by new { tr.Training_id, tr.title, tr.create_on, tr.modified_on } into gj
select new
{
TrainingId = gj.Key.Training_id,
Title = gj.Key.title,
CreateOn = gj.Key.create_on,
ModifiedOn = gj.Key.modified_on,
LastDate = gj.Max(item => item.lo.created_on)
};
请查看Linq文档以了解更多信息。请编辑您的问题,使其更具可读性。请不要只发布SQL并要求转换。至少显示一个类模型,以便导航属性和关联的多样性可见。同时,展示你自己的第一次努力。“他们给我们的澄清比你们想象的要多。”格利德·格林感谢你们的友好回复,但这对我来说不起作用。实际上,我想从training表中获取所有记录,这些记录在training\u video\u log中有条目,其中training.created\u on>training\u video\u log.created_on@Rafi-然后请参阅我在上面关于添加您尝试的内容的评论,以及当您说不工作时,您应该说什么-编译错误/异常/意外结果它给出了编译时间误差。我用的是视觉Studio@Rafi-你还有问题吗?