Я пробовал писать вот так
@model IQueryable<MvcMovie.Models.Movie>
Но получаю исключение
InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable1[<>f__AnonymousType02[System.String,System.String]]', but this ViewDataDictionary instance requires a model item of type 'System.Linq.IQueryable`1[MvcMovie.Models.Movie]'.
Вот код контроллера:
public async Task<IActionResult> Search(string searchString)
{
var MovieQuery =
from movie in db.Movie
where movie.Title.Contains(searchString)
select new { movie.Title, movie.Genre };
return View(MovieQuery);
}
Тип значения, возвращаемого из контроллера должен совпадать с типом, ожидаемым моделью.
Добавьте новый тип модели, для этого конкретного представления, с полями Title и Genre.
// назовите на свой вкус
public class MovieInfo
{
public string Title {get;set;}
public string Genre {get;set;}
}
В контроллере создавайте экземпляр этой модели вместо анонимного типа.
... select new MovieInfo { Title = movie.Title, Genre = movie.Genre };
return View(MovieQuery.ToList()); // выполняйте запрос до передачи его в представление
Сборка персонального компьютера от Artline: умный выбор для современных пользователей