У меня есть модель в 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-запросе, но он загружает всю коллекцию эпизодов там, где это не нужно.Это также увеличивает мое время HTTP-запроса, с 100 мс до 700 мс, что просто не хорошо.
Я не собираюсь жертвовать временем ради простых деталей, поэтому есть ли решение, в котором EF может запрашивать только COUNT эпизодов, не загружая всю коллекцию в?
Iбыло предложено сделать это
var animeList = context.Anime.ToPagedList(1, 20);
animeList.ForEach(x => x.EpisodeCount = x.Episodes.Count());
return Json(animeList);
, но в EpisodeCount это также возвращает 0
, так что это нереальное решение.