일부 부모 레코드가 데이터베이스에 이미 삽입되어 있습니다. 이제 일부 자식 레코드를 추가하고 싶습니다.부모 레코드가 Entity Framework 코드를 사용하여 이미 존재하는 경우 자식 테이블에 레코드 삽입
- 는 부모 (A)를 검색
- 이 아이의 탐색 속성에 부모 레코드를 추가 새 자식 (B) 레코드
- 만들기 기록 이렇게하려면 나는 다음 단계를 따라 갔다. B.A = A
- SaveChanges를 호출하십시오.
이 문제는 EF가 새로운 부모를 삽입 한 다음 자식을 기존의 부모와 매핑하여 삽입하는 대신 새로 새로 삽입 된 부모를 가리키는 외부 키가있는 자식을 추가하는 경우입니다. 나는 또한 아이를 저장할 때 부모의 프라이 머리 키를 검사했고 그것은 데이터베이스에 존재한다.
부모와 자녀에 대해 데이터베이스 생성 ID를 사용하고 있습니다. 부모님과 자식을 동일한 컨텍스트 개체에서 추가/저장하면 잘 작동한다는 것을 알게되었습니다.
최대한 빨리 해결해야합니다. 어떤 도움이라도 대단히 감사하겠습니다.
두 번째 방법이 저에게 효과적이었습니다. 고마워. – Amit
같은 문제가 발생했습니다. http://stackoverflow.com/questions/16131090/the-relationship-could-not-be-changed-the-foreign-key-properties-is-non-nulla/16131494?noredirect=에서 살펴볼 수 있습니까? 1 # comment23046042_16131494? smae 컨텍스트에서'MamConfiguration_V1'을 얻습니다. 변경 사항을 저장합니다. 같은 맥락에 붙어 있습니다. 흐름 : UI (편집 모드)에있는 ID로 MamConfiguration_V1 가져 오기 - UI에서 모든 값을 할당 -> 참조 회원 삭제 (탐색) 'MamConfigurationToBrowser_V1'. 정보를 추가 했습니까? –
+1 매일 새로운 것을 배웠습니다. 그리고 지금까지 보아온이 문제에 대한 가장 좋은 설명입니다. 고맙습니다! –