Где разместить запрос Linq в .NET Core MVC, влияет ли это на производительность? - PullRequest
0 голосов
/ 10 октября 2019

В моем приложении есть модель представления, у которой есть это свойство:

    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 в приложении, возможно, во время отладки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...