如何获取Collection Navigation属性的最后一个元素

时间:2014-12-13 11:48:10

标签: c# linq entity-framework

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

public class Agreement
{
  public int Id {set;get;}
}

我有一个如上所述的域模型并且有一个dbcontext。

我如何获得最后一份协议?

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

我希望得到所有人和最后的同意......

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

1 个答案:

答案 0 :(得分:1)

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

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