EF クエリでパフォーマンスに少し問題があります。
基本的にこれがあります:
public class Article
{
public int ID { get; set; }
public virtual List<Visit> Visits { get; set; }
}
public class Visit
{
public int? ArticleID { get; set; }
public DateTime Date { get; set; }
}
今、私はやりたい:
Article a = ...;
vm.Count = a.Visits.Count;
問題は、私が収集できることから、これにより最初にリスト全体がフェッチされ、次にそのカウントがフェッチされることです。これをループで実行すると、パフォーマンスの問題が発生します。
オブジェクトが「具体的すぎる」ことが原因であると想定したため、Visits.Count
可能な限り呼び出しをリポジトリに戻そうとしました (DbContext を直接操作するように)。それは役に立ちませんでした。
助言がありますか?