2012-05-28 5 views
1

의 개체 목록 속성 업데이트 n 계층 시나리오에서 EF 4.3에서 개체의 List 속성을 업데이트하는 방법은 무엇입니까? Entity Framework 4.3 - 코드 우선, N 계층

은의 우리가이 클래스가 있다고 가정하자 :이 저장/업데이트 ID와 이름뿐만 아니라 지금까지 작동

public class Foo 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public List<Bar> Bars { get; set; } 
} 

을하지만, 바 속성은 무시됩니다.

protected void SaveChanges(Foo foo) 
{ 
    this.Database.Entry<Foo>(foo).State = GetState(foo); 
    this.Database.SaveChanges(); 
} 

이후 원래의 컨텍스트 (즉, 푸 검색) 더 이상 메모리에 어떻게해야 바 속성에 업데이트를 저장하여 데이터 레이어 거래? EF는 제거 된 바 항목, 업데이트 된 바, 추가 된 바 항목을 어떻게 알 수 있습니까?

참고 : 각 막대 항목을 반복하여 원본과 비교할 수 있지만 EF가 그런 식으로 작동하지 않아야한다고 생각합니다. 지루하고 잘못된 것 같습니다.

+0

나쁜 소식이 있습니다. 어떤 소식인지 알고 계십니까? (힌트 : 지난 노트와 관련이 있습니다.) – Slauma

+0

헉. 나는 그것이 사실이 아니길 바랬다. –

답변

2

EF는 어떤 바 항목이 제거되었고 이 업데이트되었으며 추가 된 항목을 어떻게 알 수 있습니까?

변경 사항에 대해 어떻게 알아야합니까?

  • 당신은 현재 상태에 대한 데이터베이스를 조회하고
  • 당신은 당신의 클래스에 일부 도우미 필드를 추가 변경 사항을 찾기 위해받은 상태와 비교와 클라이언트가 알려주지 것이다 : 나는 당신이 두 가지 옵션 중 하나를 선택할 것이다 가정 변경된 사항

두 경우 모두 올바른 SQL을 생성하기 위해 변경 사항에 대한 정보를 사용할 수 있습니다.

EF는 마지막 포인트 (SQL 생성) 만 해결하지만 여전히 변경된 사항을 알려야합니다.

관련 문제