C# 如何在EF中将Sql查询转换为Linq

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

谁能告诉我如何使用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 
    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-你还有问题吗?