Entity Framework - производительность в количестве
У меня есть маленький вопрос о производительности с Entity Framework.
Что-то вроде
using (MyContext context = new MyContext())
{
Document DocObject = context.Document.Find(_id);
int GroupCount = context.Document.Where(w=>w.Group == DocObject.Group).ToList().Count();
}
занимает около 2 секунд в моей базе данных (около 30 тыс. наборов данных), в то время как этот
using (MyContext context = new MyContext())
{
Document DocObject = context.Document.Find(_id);
int GroupCount = context.Document.Where(w=>w.Group == DocObject.Group).Count();
}
занимает 0,02 секунды.
Когда моему фильтру на 10 документов пришлось ждать 20 секунд, я проверил свой код и изменил его, чтобы он не использовалсяToList()
доCount()
.
Любые идеи, почему для этой строки нужно 2 секунды сToList()
?