엔티티 프레임 워크 4.1을 사용하고 있으며 asp.net mvc에서 먼저 코드를 사용하고 있습니다. 그냥 내가 코드 (컨트롤러) 아래 쓴 것을 시험 해보려고. 당신이 볼 수 위의 코드에서는엔트리 상태 변수를 직접 읽을 때 및 변수에서 읽을 때 다른 값을 표시합니다.
public ActionResult Foo()
{
StringBuilder sb = new StringBuilder();
using (var db = new DemoDataBase1Context())
{
//get person from db
var person = db.Persons.FirstOrDefault();
//get entry
var entry = db.Entry(person);
//now change the person object
person.Name = "Some New Value";
//print entity state
//this is showing unchanged
sb.Append("<br>State: " + entry.State);
//this is showing changed
sb.Append("<br>State: " + db.Entry(person).State);
}
return Content(sb.ToString());
}
스피 내가 할 경우 그것의 변경되지 않은 말 entry.State
을하고 db.Entry(person).State
는 속담이 변경되었습니다. 어느 이유를 설명 할 수 있습니까 ??
방금 확인했습니다 :이 문 다음에'var entry2 = db.Entry (person);'| 'entry1.State'와'entry2.State'는 모두 Modified입니다. 지금 나는 방금'var entry2 = db.Entry (person); '을 주석 처리했다.'entry1.State'는 Modified를 보여준다. 나는 왜 그 일이 일어날 지 모른다. –
코드를 업데이트하여 수행중인 작업을 표시하십시오. 테스트를 마쳤을 때 예상대로 작동했습니다. – Dismissile