如何在不包含/加载整个集合的情况下获取实体框架模型中列表的计数?

我在 Entity Framework Core 中有一个模型,它是这样的:


public class Anime

{

     public int EpisodeCount { get { return Episodes.Count() } }

     public virtual ICollection<Episode> Episodes { get; set; }

}

我遇到了 EpisodeCount 的问题0。目前的解决方案是.Include(x => x.Episodes)在我的 EF 查询中运行 a ,但这会加载不需要它的整个剧集集合。这也增加了我的 HTTP 请求时间,从 100 毫秒到 700 毫秒,这并不好。


我不愿意为简单的细节牺牲时间,那么有没有一种解决方案可以让 EF 只查询剧集的 COUNT,而不加载整个集合?


我被建议这样做


var animeList = context.Anime.ToPagedList(1, 20);

animeList.ForEach(x => x.EpisodeCount = x.Episodes.Count());

return Json(animeList);

但这也会0在 EpisodeCount 中返回,因此这不是一个可行的解决方案。


明月笑刀无情
浏览 114回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP