Итак, я создал пользовательский контроллер путем анализа объектов в модели в базе данных в моем проекте и внутри этого контроллера, есть метод post, который называется Edit
, который включает в себя поля базы данных, такие как а Id, название, описание, FileName, FILETYPE, FileSize, Автор, DateUploadedSystem.Data.Entity.Infrastructure.DbUpdateException произошло
в окне редактирования HTML, я удалил некоторые элементы, потому что все, что я хочу, чтобы изменить это «Название» и «Описание» и я тоже удалил поля в методе edit
в контроллере, который я создал.
Чтобы это объяснить;
public ActionResult Edit([Bind(Include = FileSharing "Id,Title,Description,FileName,FileType,FileSize,Author,DateUploaded")] FileSharing fileSharing)
в:
public ActionResult Edit([Bind(Include = "Id,Title,Description")] FileSharing fileSharing)
Когда я пытаюсь изменить название или описание. Это даст ошибку исключения, говоря
System.Data.Entity.Infrastructure.DbUpdateException»произошло в EntityFramework.dll, но не был обработан в пользовательском коде
Почему я получаю эту ошибку и как я могу обойти это?
Edit
метод
public ActionResult Edit([Bind(Include = "Id,Title,Description")] FileSharing fileSharing)
{
if (ModelState.IsValid)
{
try
{
db.Entry(fileSharing).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception)
{
ViewBag.EditFail = "Error editing file details.";
}
}
return View(fileSharing);
}
где происходит обновление базы данных. Покажите соответствующий код. – user1666620
Исключение генерируется внутри вашего действия, вероятно, на 'dbContext.SaveChanges()'. Вы должны обернуть этот вызов в блок try/catch, а затем просмотреть полное исключение и внутреннее исключение (исключения), EF довольно хорошо описывает точную причину исключения. Если вам по-прежнему нужна помощь, укажите полные сведения об исключении, а также полный код в действии. – Igor
@ user1666620 Обновлено мое сообщение. – Justin