检索LINQ中的最新关联记录?

时间:2016-04-19 06:51:49

标签: linq

我有3个实体EntityA,EntityB和EntityC

EntityA可以拥有许多EntityB

EntityB将拥有一个EntityC和一个CreatedDate

我想检索具有最新EntityB的所有EntityAs(如果存在且关联的EntityC)。

我真的在LINQ(lambda或其他)上苦苦挣扎。你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

EntityAs.Select(a=>new EntityA {
  EntityBs=a.EntityBs.OrderByDescending(b=>b.CreateDate).Take(1)});

如果它是EF实体,那么您可能需要包含C,如下所示:

EntityAs
  .Include(a=>a.Select(b=>b.EntityC))
  .Select(a=>new EntityA {
    EntityBs=a.EntityBs.OrderByDescending(b=>b.CreateDate).Take(1)});