有没有办法限制在ObjectQuery<>?上调用.Include()方法时返回的记录数量?基本上,如果我的一个实体处于一对多关系中,例如Band实体到Fan实体列表(一个乐队可以拥有任意数量的粉丝),我该如何限制返回的粉丝数量?
在示例中:
var band = ctx.Bands.Include("Fans").SingleOrDefault(b => b.BandId == someBandId);
如果我使用Include,它将返回所有粉丝。如何查询Fans导航属性以仅返回子集或最大值?感谢。
答案 0 :(得分:1)
我通常查询显式而不是使用include,因此返回匿名类型。
from band in ctx.Bands
where band.BandId == someBandId
select new
{
band = band,
maxFan = band.Fans.OrderByDescending(f => f.SortingValue).FirstOrDefault(),
};
答案 1 :(得分:1)
听起来你想要Take方法。