Так что я пытаюсь заставить мой MVC веб-сайт использовать ViewModels вместо данных напрямую.
Как видно из названия, я получаю исключение, и это происходит после того, как я нажимаю кнопку создания, чтобы добавить новые данные.
Я приведу список фрагментов кодов, которые я использую сейчас.
Это операция создания в контроллере
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,Surname,FirstName,Email")] PassengerViewModel passenger)
{
if (ModelState.IsValid)
{
_context.Add(passenger);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(passenger);
}
Страница создания представляет собой нормальная страница создания, которую визуальная студия создала для меня. единственное изменение, которое я внес в него, - вместо использования данных модели. модель ссылается на мою ViewModel.
Затем в классе миграции. код такой:
migrationBuilder.CreateTable(
name: "Passengers",
schema: "WebSite",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
Surname = table.Column<string>(nullable: false),
FirstName = table.Column<string>(nullable: false),
Email = table.Column<string>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Passengers", x => x.Id);
});
Буду признателен за любую помощь или руководство.