엔티티 프레임 워크 : 다른 엔티티의 속성에 엔터티 할당
문제
이 엔티티가 있습니다 (이것은이 게시물에 대해 내가 만든 추상화 일뿐입니다) :
- 언어
- 구역
- 설명
이것들은 그들 사이의 참조입니다.
- 구역 * - 1 언어
- 설명 * - 1 언어
- 구역 1 - 1 설명
내가 이것을 가져 오면 :
var myFetch = from c in context.Districts
where c.Id = 10
select new { DistrictId = c.Id, Lang = c.Language };
그리고 그 후, 나는 그것을 설명 이와 같이:
Description desc = Description.CreateDescription(0, "My description");
desc.DistrictReference.EntityKey = new EntityKey("MyEntities.Descriptions", "DistrictId", myFetch.DistrictId);
desc.Language = myFetch.Lang; //throws error
던진 오류는 다음과 같습니다.
System.InvalidOperationException : EntitySet 이름 'myentities.Descriptions'가 연관적 인 이름 'myentities.district_description'에서 '지구'역할에 유효하지 않기 때문에 관계를 정의 할 수 없습니다.
내가 뭘 잘못하고 있죠?
해결책
만약에 myFetch
수업의 사례였습니다 District
프로그래밍 방식으로 할 수 있습니다.
desc.DistrictReference.EntityKey = new EntityKey(
String.Format(
"{0}.{1}",
myFetch.EntityKey.EntityContainerName,
myFetch.EntityKey.EntitySetName),
"DistrictId",
myFetch.DistrictId);
다른 팁
메시지의 말 : 잘못된 엔티티 세트 이름을 지정했습니다.
- EDMX를 엽니 다.
- 모델 브라우저 창을 엽니 다.
- 모델 브라우저에서 지구 엔터티를 찾으십시오
- 마우스 오른쪽 버튼을 클릭하고 "속성"을 선택하십시오.
- 올바른 엔티티 세트 이름을 참고하십시오
제휴하지 않습니다 StackOverflow