如何获取集合导航属性的最后一个元素

本文关键字:属性 导航 最后一个 元素 集合 何获取 获取 | 更新日期: 2023-09-27 18:34:05

public class Personel  
{
  public int Id {set;get;}
  public ICollection<Agreement> Agreements { set; get;}
}
public class Agreement
{
  public int Id {set;get;}
}

我有一个如上所述的域模型,并且有一个数据库上下文。

如何获得最后的协议?

var result = _db.Personels.Include(a=>a.Agreements).OrderByDescending(x => x.Id);

我想得到所有的人和他们的最后协议......

这给了我一个人的所有同意,我只想要最后一个按 id 降序排序。

如何获取集合导航属性的最后一个元素

var result = 
from p in _db.Personels
select new {
        personel = p,
        lastAgreement = p.Agreements.OrderByDescending(x => x.Id).FirstOrDefault()
       }
.ToList();

现在,您可以将其转换为Personels列表,并为每个lastAgreement设置。