Entity Framework 4 Entitydesigner에서 두 개체 간의 연결을 올바르게 설정하려면 어떻게해야합니까?
새 프로젝트의 경우 먼저 비즈니스 클래스를 만들고 나중에 실제 데이터베이스 테이블을 만들려고합니다. 따라서 Entity Framework 4 Designer를 사용하고 있습니다. A는 확장자가 .edmx 인 새 "ADO.Net 엔티티 데이터 모델"파일을 작성했습니다.
두 개의 엔티티를 만들었습니다.
Product-> Group 사이에 1 대 nc 관계를 추가하고 싶습니다. MSSQL 데이터베이스를 먼저 만들었다면 테이블 제품에 IDGroup 열을 추가하고 Group.IDGroup에 Product.IDGroup을 참조했을 것입니다. 내가 볼 수있는 한, IDGroup이라는 새 속성을 제품 엔터티에 추가하면 디자이너에서 이러한 연결을 추가 할 수 없습니다.
다음은 매핑을 추가하는 방법입니다.
결과 :
이제이 질문에 대한 부분입니다. 기존 MSSQL 데이터베이스의 두 테이블을 edmx 파일에 추가하면 컴파일 오류가 발생합니다.
Error 3027: No mapping specified for the following EntitySet/AssociationSet - GroupSet, ProductSet
그 오류는 무엇을 의미하며이 문제를 해결하려면 어떻게해야합니까? 이 두 테이블을 삭제하면 대신 경고가 표시됩니다.
Error 2062: No mapping specified for instances of the EntitySet and AssociationSet in the EntityContainer myContainer.
뭔가 나에게 말해, 나는이 모든 것을 잘못하고 있으며 이것은 단지 기본적인 것입니다. 어떻게하면 제대로 할 수 있습니까?
나는 방금 이것을 직접 만났고 내가 그것을 구글했을 때 (당신의 질문에 맞았습니다).
디자이너에서 선 (연관 선)을 더블 클릭 할 수있었습니다. 거기에 속성을 채우면 작동합니다.
또한보고 된 오류 중 일부가 사라지도록 VS를 닫고 다시 열어야했습니다.
이것이 정답이라고 말할 수는 없습니다. 단지 주변을 뒤지고 결과를 얻는 것처럼 보입니다.
놓치기 쉬운 것은 model에서 데이터베이스 를 생성하는 것 입니다. 내가 이해하는 바에 따르면 이것은 Database .edmx에 대한 모든 변경 후에 실행되어야합니다.
이 간단한 실수는 나에게 일어 났고 몇 분 동안 좌절감으로 이어집니다 =)
EF4.1이 설치된 VS2010 SP1에서 ADO.Net DBContext Generator를 사용하여 데이터베이스에서 모델을 생성 할 때이 오류가 발생했습니다. 내가 사용하고 있던 데이터베이스에는 기본 키 필드와 외래 키 필드간에 참조 무결성이 없습니다.
해결책은 Referential Contstrainst 대화 상자를 표시하는 연관 라인을 두 번 클릭하는 것입니다. 그런 다음 Principal 필드를 기본 키가있는 테이블로 설정하고 Dependent를 외래 키가있는 테이블로 설정하고 드롭 다운에서 일치하도록 외래 키 이름을 설정하고 확인을 클릭합니다.
그런 다음 코드가 컴파일되고 var foreign = DBContext.Primary.First (). Foreign 등을 사용하여 엔티티간에 작업 할 수있었습니다.
스티브
동일한 오류가 발생했으며 "연결 추가"대화 상자가 설정하는 데 도움이되지 않은 구성 중 하나는 "참조 제한"속성이었습니다. 일단 솔루션을 다시 구축하도록 구성하면 모든 것이 멋졌습니다.
모델 다이어그램에서 연결을 삭제했지만 연결이 .edmx의 기본 XML에 남아있을 때이 오류가 발생했습니다. 내가 찾은 유일한 방법은 edmx를 직접 편집하여 문제가되는 연관에 대한 참조를 제거하는 것입니다.
edmx 파일에서 모든 테이블을 삭제하기 만하면됩니다. 이제 edmx 파일을 마우스 오른쪽 버튼으로 클릭하고 업데이트 양식 데이터베이스 옵션을 선택하십시오. 업데이트 Ef, 문제가 해결됩니다.
데이터베이스 우선 접근 방식을 사용하고 있으며 동일한 문제가 발생했습니다.
무엇 원인이 문제는 내가 동료의에 데이터베이스에서 테이블 중 하나를 삭제하고 모델을 업데이트하는 것을 잊었다.
내 솔루션 은 다이어그램에서 삭제 된 엔터티를 찾는 것입니다. (모델 브라우저가 유용 할 수 있습니다.) 데이터베이스에서 테이블을 삭제하면 EF가 엔터티를 제거하지 않으므로 다이어그램에서 삭제합니다.
오류 목록 창을 빌드하고 확인합니다 (Ctrl + E, W).
끝난.
또한 Entity Framework 컨텍스트 및 모델을 변경 한 후 프로젝트를 다시 빌드하면 특히 Entity Framework 컨텍스트가 다른 프로젝트에있는 경우 이러한 오류를 해결할 수 있음을 발견했습니다.
'programing' 카테고리의 다른 글
편집 모드를 종료하지 않고 vim에서 들여 쓰기를 해제하는 방법은 무엇입니까? (0) | 2021.01.14 |
---|---|
플래시 앱의 페이스 북 공유 링크에서 사용자 지정 제목 / 이미지 / 설명을 원함 (0) | 2021.01.14 |
한 파일에서 두 변경 집합 간의 차이점보기 (0) | 2021.01.14 |
게임 개발을위한 D 프로그래밍 언어 (0) | 2021.01.14 |
DBRef로 mongodb를 쿼리하는 방법 (0) | 2021.01.14 |