在存储库中,我这样做:
public AgenciesDonor FindPrimary(Guid donorId) {
return db.AgenciesDonorSet.Include("DonorPanels").Include("PriceAdjustments").Include("Donors").First(x => x.Donors.DonorId == donorId && x.IsPrimary);
}
然后在同一个存储库中使用另一种方法,这个:
AgenciesDonor oldPrimary = this.FindPrimary(donorId);
在调试器中,结果视图显示该表中的所有记录,但是:
oldPrimary.Count();
是 1(应该是)。
为什么我看到检索到的所有表条目,而不仅仅是 1?我认为行过滤是在数据库中完成的。
如果 db.EntitySet 确实将所有内容都提取到客户端,那么使用 EF 保持客户端数据精简版的正确方法是什么?获取所有行不会根据我正在做的事情进行扩展。