Lambda 获取嵌套表实体框架核心中只有前10条记录的记录

Lambda 获取嵌套表实体框架核心中只有前10条记录的记录,lambda,entity-framework-core,ef-core-5.0,Lambda,Entity Framework Core,Ef Core 5.0,我有一个包含两列的表(tblA),其中一列是另一个表(tblB)的集合。 我想从tblA那里得到一张只有tblB前10名的唱片 如何才能做到这一点 我使用了这个代码,但没有得到答案: var fetchData = tblA.GetAll() .Include(x=>x.tblB.OrderByDescending(x=>x.Timestamp).Take(10)) .FirstOrDefau

我有一个包含两列的表(tblA),其中一列是另一个表(tblB)的集合。 我想从tblA那里得到一张只有tblB前10名的唱片

如何才能做到这一点

我使用了这个代码,但没有得到答案:

var fetchData = 
               tblA.GetAll()
               .Include(x=>x.tblB.OrderByDescending(x=>x.Timestamp).Take(10))
               .FirstOrDefault(c => c.Id == id);
我找到了

但我认为这更像是一个骗局,而不是解决办法。 但它回答我:

首先,我用过滤器获得了所有tblA数据,然后我创建了一个tblB对象(objTblB),并获得了前10个相关行。 最后用该对象替换tblA中的tblB集合

var fetchData = tblA.GetAll().FirstOrDefault(c => c.Id == id);
var objTblB = fetchData.tblB.OrderByDescending(x => x.Timestamp).Take(10).ToList();
fetchData.tblB = objTblB; 

已添加到EF Core 5.0中,因此无法在3.1中使用(如果标记正确)。是的,您是对的。我是说EF Core 5.0什么不起作用?例外?没有数据?数据比预期的多?不.我不知道。它可以正常工作。但把tblB上的所有记录都带回来了