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;}
중복되지 않으므로 완전히 제거 할 수 있습니다.