У меня вопрос о производительности с 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()
?