임 엔티티 프레임 워크에 익숙하지 않아 약간의 조정 문제가 있습니다. 모든 것과 마찬가지로, 처음에는 CRUD 작업을 위해 내 인생을 얼마나 간단하게 만들 수 있는지 보았습니다. 그리고 그것이 훌륭하다고 생각했습니다. 그러나 내 개체 모델이 약간 더 복잡 해짐에 따라 점점 더 많은 문제가 생기기 시작했습니다.엔티티 프레임 워크 저장 하위 오브젝트
나는 거의 모든 질문에 대한 답변을 여기에서 검색하여 찾을 수 있지만, 현재의 내 질문은 나에게 충격을줍니다.
저는 1 대 1/0 관계로 연결된 두 개의 엔티티가 있습니다. 나는 이미지를 게시 아직 너무 아래에있는 내 사기 도면을 fogive하십시오 캔트 :
Person (id, name, address, dob, etc. etc.)
Spouse (id, name, address, dob, etc. etc.)
을 실제 내가 내 문제의 그 부분을 생각하지 않는다 더 복잡 동안.
이Person person = new Person();
person.Spouse = new Spouse();
person.Spouse = spouse;
(상상 속성 설정 포함) :
자,이를 보는 것은 1 0/1에 관계 한 사람 중 1 배우자했다, 또는 내가으로 내 객체를 생성 한 경우에는 0을
다음 저장하십시오. 그것은 대접을합니다. 그런 다음 다시로드하고 편집 할 수 있습니다. 수명이 깁니다.
내가 문제가되는 곳은 내가 배우자가없는 사람을 구한 다음 나중에 편집을 위해 그 사람을로드하고 배우자를 추가하려고하는 것입니다. 내가 컨테이너에 도착하면 .Attach (person); 호출하면 다음 예외가 throw됩니다. "임시 EntityKey 값을 가진 개체를 개체 컨텍스트에 연결할 수 없습니다."
지금, 나는 인해 배우자를 추가하는 방식 임, 즉이는 매우 확신 :
Person person = LoadPerson(id);
Spouse spouse = new Spouse();
person.Spouse1 = spouse;
문제 메신저 보는 지금 이전에 관련되지 않은 자식 개체를 연결하려고 메신저입니다. 오류 메시지에서 많은 검색을 수행했지만 일반적으로 개체 컨텍스트와 관련이있는 것처럼 보입니다. 또한 나는 (내가 찾은 결과로부터) 일을 발견했다. 내가 1 대 다수의 관계를 사용하고 Person.Spouses.Add (배우자)를하면 잘 작동합니다. 그러나 나는 관계가 논리적이 아니기 때문에 (이 나라에서는 어쨌든 ...) 그렇게하는 것을 주저합니다. 나는 분명히 내가 본 결과에서 간과 한 간단한 대답을 확신한다. (나는 이것을 처음 시도하고 시도 할 첫 번째 의심이 크다.) 그러나 나는 아무 것도 시도하지 않았다.
어떤 도움은 매우 극명하게 될 것이다 ...