我有以下foreach語句:低效的實體框架查詢
foreach (var articleId in cleanArticlesIds)
{
var countArt = context.TrackingInformations.Where(x => x.ArticleId == articleId).Count();
articleDictionary.Add(articleId, countArt);
}
數據庫看起來像這樣
TrackingInformation(Id, ArticleId --some stuff
Article(Id, --some stuff
我想要做的是讓所有的物品IDS從TrackingInformations表計數。 例如:
ArticleId:1 Count:1
ArticleId:2 Count:8
ArticleId:3 Count:5
ArticleId:4 Count:0
,所以我可以有一個dictionary<articleId, count>
上下文是實體框架的DbContext。問題是這個解決方案的工作速度非常慢(數據庫中有大於10K的文章,它們應該快速增長)
你認爲「慢」是什麼?您應該按文章ID對數據進行分組並使用這些結果。 –