Недавно я читал учебник Microsoft по ASP.NET Core и увидел, что классы контроллеров этого учебника включают запросы LINQ для извлечения данных из базы данных. Например, фрагмент кода этого tutrorial выглядит следующим образом:
// GET: Movies
public async Task<IActionResult> Index(string movieGenre, string searchString)
{
// Use LINQ to get list of genres.
IQueryable<string> genreQuery = from m in _context.Movie
orderby m.Genre
select m.Genre;
var movies = from m in _context.Movie
select m;
if (!string.IsNullOrEmpty(searchString))
{
movies = movies.Where(s => s.Title.Contains(searchString));
}
if (!string.IsNullOrEmpty(movieGenre))
{
movies = movies.Where(x => x.Genre == movieGenre);
}
var movieGenreVM = new MovieGenreViewModel
{
Genres = new SelectList(await genreQuery.Distinct().ToListAsync()),
Movies = await movies.ToListAsync()
};
return View(movieGenreVM);
}
У меня следующий вопрос: что именно содержит класс модели? Во всех статьях, которые я читал о паттерне MVC, мне рекомендуется помещать функции, из которых я получаю данные из базы данных, в класс модели. Так они делают ошибку в этом уроке?