繁体   English   中英

实体框架-左联接中的最新记录

[英]Entity Framework - Most recent record in the left join

我知道周围发布了许多类似的查询,但是我想知道我们如何在实体框架中编写以下SQL查询,

select * from RequestDetail d 
    left join (select RequestDetailId, Max(RequestedOn) RequestedOn from RequestHistory group by RequestDetailId) as h
    on h.RequestDetailId = d.Id

阅读很多文章,我找不到确切的副本。

您可以在Linq to Entities中执行相同的操作:

var innerquery=from e in  RequestHistory 
               group e by e.RequestDetailId into g 
               select new {
                             RequestDetailId=g.Key, 
                             RequestedOn =g.Max(r=>r.RequestedOn)
                          };

var query= from d in RequestDetail 
           join h in innerquery on d.Id equals h.RequestDetailId into gj
           from e in gj.DefaultIfEmpty()
           select new {d, e};

我首先创建了内部查询,以帮助您更好地了解其用法,但是您可以将两个查询合并为一个,但这没有任何区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM