개체를 로컬에서 수정 한 다음 DAL에 전달하여 연결된 데이터베이스에서 업데이트합니다.dbcontext SaveChanges를 사용하여 수정 된 레코드를 DB에 푸시하는 방법?
보통 저장 프로 시저를 사용하고 DB를 업데이트하기 위해 독자를 실행하지만이 프로젝트는 대신 DB 컨텍스트를 구현합니다.
그러나 변경 내용을 저장하는 메서드를 실행하면 오류없이 반환되며 데이터베이스에서 레코드가 업데이트되지 않습니다.
여기에서 검색을하면 this question이 나타나서 save를 호출하기 전에 수정 된 상태로 db 레코드를 표시 할 것을 제안했습니다. 어떤 문제를 해결하지 못했습니다.
질문 : 당신이 SaveChanges를을 dbcontext 사용하여 DB에 수정 기록을 밀어 수있는 방법
?
이
는 DAL 방법의 요지입니다 :public void update_Release_Status(Status recordModified)
{
//Get the original record and update with the modified values.
Status recordOriginal = db3.Status .First(i => i.ID == recordModified.ID);
db3.Entry(recordOriginal).State = System.Data.Entity.EntityState.Modified; //marked as modified here before saving
recordOriginal = recordModified;
db3.SaveChanges();
}
'recordOriginal'인스턴스에서 아무 것도 변경하지 않았으므로 업데이트 할 것이 없습니다. 변수 참조를 완전히 바꾸지 않고'recordOriginal'에 개별 필드를 설정할 수 있습니까? 아니면'recordModified'를 원래 DB 컨텍스트에서 가져온 것이라면 컨텍스트에 첨부 할 수 있습니까? (그것은 어디에서 왔습니까?) – David
이 해결책은 당신이나 당신을 위해 일하고 있습니까? http://stackoverflow.com/a/39663331/1077309 – Sampath