문제

이 엔티티가 있습니다 (이것은이 게시물에 대해 내가 만든 추상화 일뿐입니다) :

  • 언어
  • 구역
  • 설명

이것들은 그들 사이의 참조입니다.

  • 구역 * - 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);  

다른 팁

메시지의 말 : 잘못된 엔티티 세트 이름을 지정했습니다.

  1. EDMX를 엽니 다.
  2. 모델 브라우저 창을 엽니 다.
  3. 모델 브라우저에서 지구 엔터티를 찾으십시오
  4. 마우스 오른쪽 버튼을 클릭하고 "속성"을 선택하십시오.
  5. 올바른 엔티티 세트 이름을 참고하십시오
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top