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;}
冗長であり、完全に削除できます。