Может ли любой PLZ оптимизировать нижестоящий запрос linq. Он должен ударить по базе данных только один раз.Сколько раз запрос попадет в базу данных?
List<LearningItem> items = this.learningitemRepository.GetAll().ToList();
var model = new List<StatementViewerModel>();
foreach (var statement in subjects)
{
var mi = new StatementViewerModel();
mi.UserName = statement.UserName;
mi.SubjectName = statement.Name;
**int nofItems = items.Where(x => x.SubjectId == statement.SubjectId).Count();**
double ratio = (double)statement.AttendedItems/(double)nofItems;
int subjectprogress = (int)(ratio * 100);
mi.Progress = subjectprogress;
model.Add(mi);
}
В чем проблема? Конечно, это только попадает в БД один раз в текущем состоянии? – Paddy
Спасибо за комментарии. У меня есть сомнения, это вопрос, на котором я задал вопрос. – karthik
Если вы сомневаетесь в этом, включите профилировщик в своей базе данных и посмотрите, что отправлено ... – Paddy