Я пробовал писать вот так
@model IQueryable<MvcMovie.Models.Movie>
Но получаю исключение
InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable1[<>f__AnonymousType0
2[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()); // выполняйте запрос до передачи его в представление
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите, пожалуйстаКак подключить Dependencies к NuGet в проекте? NuGet создавал, как описано в доках майкрософт Создание и публикация пакета NuGet с помощью...
Использую функцию OnMouseDown и OnMouseUp, пишу DebugLog, а ничего не выводится
Как можно сделать выполнение функции по таймеру? При этом нужно передавать в функцию несколько аргументов
Только сейчас заметил, что C# не обновляет свойства классов, в реальном времениЕсть свойство в классе Str: