对于几页我用.Count
一个内部foreach
循环
@model ICollection<Item>
foreach(var item in Model)
{
@item.Flight.FlightReservations.count
}
由于延迟加载的EF使往返于数据库这一点。
现在,我要使用此或LINQ版本解决这个问题:包括(“List.Flight.FlightReservations”)
这样做使我的加载甚至dbSet长于那些需要foreach
往返
如何能只有1对象的I“负荷”的部分?
我想用context.Items.Single(p => p.id == id).Include(.....)
只装1项完全于是我。
或者这方面的任何其他解决办法? (A办法迫使负载item.List.item2.List
内部控制器)
任何建议,欢迎:)谢谢
编辑 :现在使用
Where(..).ToDictionary(item => item, item => item.Flight.FlightReservations.Count);
还注意到添加索引到我的“聚集索引”表帮一点。 仍然缓慢,虽然
var f = _pr.FindBy(duifid);
var result = (from p in f.IngeschrevenVluchten
select new PrestatieModel
{
Eindpos = p.Eindpositie,
Locatie = p.Vlucht.Locatie.Naam,
AantalInschrijvingen = p.Vlucht.Inschrijvingen.Count(),
Vlucht = p.Vlucht
});
此查询执行速度非常快,使得IEnumerable<Model>
。 但它仍然加载很慢,一旦发送到视图。
return PartialView(result);