2009-12-21 6 views
3

Silverlight에서 서비스로 목록 (자체 클래스)을 반환합니다.이 목록에는 업데이트 된 값과 완전히 새로운 엔티티가있는 이전 엔티티가 있습니다. 어떻게 저장합니까? 엔터티 프레임 워크를 사용하여 다시 데이터베이스로?엔티티 프레임 워크를 사용하여 엔티티 목록 추가/업데이트

cEnts.CardItems.AddObject를 사용하면 분명히 중복 된 결과를 얻을 수 있습니다.

답변

3

AddObject() 대신 Attach()를 사용하려고합니다.

첨부는 ​​연결 해제 객체를 가져 와서 컨테이너가 업데이트로 간주하도록합니다. PrimaryKey가없는 새 오브젝트가 추가됩니다.

+0

다음은 코드 예입니다. http://blogs.msdn.com/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx –

+0

새로운 엔티티에서는 작동하지 않습니다. – Dani

1

선택 및 업데이트/삽입에 대해 동일한 엔티티 컨텍스트를 사용하는 경우 AddTo ...() 메서드를 호출하여 새 엔티티 및 ApplyPropertyChanges를 변경된 엔티티에 삽입해야합니다.

다른 컨텍스트를 사용하는 경우 한 컨텍스트에서 엔터티를 분리하여 다른 컨텍스트에 연결해야하기 때문에 문제가 더 복잡합니다. 분리 된 엔티티가 변경된 상태를 잃으면 어떤 속성이 변경되었는지 명시 적으로 지정해야합니다 (자세한 내용은 http://www.abadjimarinov.net/blog/2009/12/13/AttachAlreadyChangedObjectToADataContextInEntityFramework.xhtml을 확인하십시오).

관련 문제