В моем приложении есть модель представления, у которой есть это свойство:
public IEnumerable<Game> Games { get; set; }
public int TotalWins
{
get
{
return Games.Where(m => m.Outcome == "W").Count();
}
}
Это подходящее место для размещения оператора where
? Или он должен войти в контроллер следующим образом:
viewModel.TotalWins = _context.Games
.AsNoTracking()
.Where(m => m.TeamID == viewModel.Team.ID)
.Where(m => m.Outcome == "W")
.Count();
Хотя это базовый запрос, мое приложение очень медленно выполняет эти запросы, и я пытаюсь найти способы повысить производительность. Имеет ли какое-либо из них значение с точки зрения производительности? Или есть лучшие практики? (из того, что я сделал в прошлом контроллере, это подходящее место для них)
В качестве дополнительного вопроса, есть ли способ проверить производительность запросов LINQ в приложении, возможно, во время отладки?