2012-07-11 2 views
3

안녕하세요, 저는 ObjectContextManager에 여러 객체를 연결하고 "추가됨"모드에서 상태를 설정하려고합니다. 이러한 객체에는 객체와 함께 탐색 속성이 있으며 객체를 첨부 한 후 객체를 첨부하려고합니다. 오류가 발생합니다.엔티티 프레임 워크를 사용하여 객체 목록 삽입

동일한 키를 가진 객체가 ObjectStateManager에 이미 있습니다. ObjectStateManager는 동일한 키가있는 여러 객체를 추적 할 수 없습니다.

이유는 분명하지만 그 해결책은 무엇입니까?

친절 임의의 아이디와 연결/추가 새 개체의

답변

0

당신은 초기화해야 이드 안내 (같은 Guid.NewGuid().GetHashCode() 당신은 INT32를 사용하는 경우 ID-형)

그렇지 않으면 기본의 이드 모든 엔티티가 0이므로 개체를 연결할 때 ObjectStateManager도 예외를 throw합니다.

1

실제로 첨부하고있는 엔티티에서 Attach 또는 AddObject을 호출하면 전체 개체 그래프 (EF 탐색 탐색 속성을 추가하고 모든 관련 속성에서 연산을 실행 함)에서 호출 할 수 있습니다. 개체 그래프의 일부로 이미 첨부되었거나 추가 된 엔터티를 추가하거나 연결하려고하면이 예외가 발생합니다. 해결책은 데이터 모델을 이해하고 연결이 끊어진 개체 그래프에 대해서만 AddObject 또는 Attach으로 호출하는 것입니다.

관련 문제