Я намагаюся оновити запис за допомогою EF6. Спочатку знайдіть запис, якщо він існує, оновіть його. Ось мій код: -
var book = new Model.Book
{
BookNumber = _book.BookNumber,
BookName = _book.BookName,
BookTitle = _book.BookTitle,
};
using (var db = new MyContextDB())
{
var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber);
if (result != null)
{
try
{
db.Books.Attach(book);
db.Entry(book).State = EntityState.Modified;
db.SaveChanges();
}
catch (Exception ex)
{
throw;
}
}
}
Кожен раз, коли я намагаюся оновлювати запис за допомогою наведеного вище коду, я отримую цю помилку: -
{System.Data.Entity.Infrastructure.DbUpdateConcurrencyException: Оператор оновлення, вставки або видалення вплинув на несподіване число рядків (0). Суб'єкти, можливо, були змінені або видалені з моменту завантаження об'єктів. Оновити запис ObjectStateManager
catch (Exception ex){throw;}
зайва, і ви можете повністю її видалити.