programing

엔터티 프레임워크 4 엔터티 디자이너에서 두 개체 간의 연결을 올바르게 설정하려면 어떻게 해야 합니까?

css3 2023. 8. 18. 22:50

엔터티 프레임워크 4 엔터티 디자이너에서 두 개체 간의 연결을 올바르게 설정하려면 어떻게 해야 합니까?

새 프로젝트의 경우 먼저 비즈니스 클래스를 만들고 나중에 실제 데이터베이스 테이블을 만들려고 합니다.따라서 Entity Framework 4 Designer를 사용하고 있습니다.A는 새로운 "ADO"를 만들었습니다.확장자가 .edmx인 Net Entity Data model" 파일입니다.

두 개의 엔티티를 만들었습니다.
alt text

Product -> Group 사이에 1tnc 관계를 추가하고 싶습니다.MSSQL 데이터베이스를 먼저 생성했다면 테이블 제품에 열 ID 그룹을 추가하고 제품을 참조했을 것입니다.그룹화할 ID입니다.그룹.제가 보기에는 IDGroup이라는 새 속성을 제품 엔티티에 추가하면 디자이너에 이러한 연결을 추가할 수 있습니다.

매핑을 추가하는 방법은 다음과 같습니다.alt text

그 결과:
alt text

이제 이 질문의 내용은 다음과 같습니다.기존 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를 닫았다가 다시 열어야 했습니다.

이것이 정답이라고 말할 수는 없습니다. 그저 더듬거리며 결과를 얻는 것처럼 보일 뿐입니다.

모델에서 데이터베이스를 생성하는 은 놓치기 쉬운 일입니다.Database.edmx를 변경할 때마다 실행해야 하는 것으로 알고 있습니다.

이 간단한 실수가 저에게 일어났고 몇 분간의 좌절로 이어졌습니다 =)

ADO를 사용하여 데이터베이스에서 모델을 생성했을 때 이 오류가 발생했습니다.EF4.1이 설치된 VS2010 SP1의 Net DB 컨텍스트 생성기입니다.사용 중인 데이터베이스에 기본 키 필드와 외부 키 필드 간의 참조 무결성이 없습니다.

솔루션은 연결 선을 두 번 클릭하여 참조 제약 조건 대화 상자를 표시하는 것이었습니다.그런 다음 Principal 필드를 기본 키가 있는 테이블로, Dependent를 외부 키가 있는 테이블로 설정하고 드롭다운에서 일치하도록 외부 키 이름을 설정하고 OK를 클릭합니다.

그런 다음 코드를 컴파일하여 varforeign = DB 컨텍스트를 사용하여 엔티티 간에 작업할 수 있었습니다.기본적인.먼저().외국인 등

스티브

동일한 오류가 발생했습니다. "연결 추가" 대화 상자가 설정하는 데 도움이 되지 않는 구성 중 하나는 "참조 제약" 속성입니다.일단 이 솔루션을 재구축하면 모든 것이 정상적으로 작동합니다.

모델 다이어그램에서 연결을 삭제했지만 연결이 .edmx의 기본 XML에 남아 있을 때 이 오류가 발생했습니다.제가 해결할 수 있는 유일한 방법은 edmx를 수동으로 편집하여 문제를 일으키는 협회에 대한 참조를 제거하는 것입니다.

edmx 파일에서 모든 테이블을 삭제하기만 하면 됩니다.이제 edmx 파일을 마우스 오른쪽 단추로 클릭하고 양식 데이터베이스 업데이트 옵션을 선택합니다.업데이트 Ef, 문제가 해결됩니다.

데이터베이스 퍼스트 접근 방식을 사용하고 있는데 동일한 문제가 발생했습니다.

문제의 원인은 내 동료가 데이터베이스에서 테이블 중 하나를 삭제하고 모델 업데이트를 잊어버렸다는 것입니다.

해결책은 다이어그램에서 삭제된 엔티티를 찾는 것입니다.(모델 브라우저가 유용할 수 있습니다.)그런 다음 테이블을 데이터베이스에서 삭제한 경우 EF는 엔티티를 제거하지 않으므로 다이어그램에서 삭제합니다.

빌드하고 오류 목록 창(Ctrl+E,W)을 확인합니다.

다 했어요.

또한 Entity Framework 컨텍스트 및 모델을 변경한 후에 프로젝트를 재구축하면 특히 Entity Framework 컨텍스트가 다른 프로젝트에 있는 경우 이러한 오류를 해결할 수 있습니다.

언급URL : https://stackoverflow.com/questions/3700637/how-do-i-correctly-set-an-association-between-two-objects-in-the-entity-framewor