다음을 통해 공유


관계 - EF 디자이너

참고 항목

이 페이지에서는 EF 디자이너를 사용하여 모델에서 관계를 설정하는 방법에 대한 정보를 제공합니다. EF의 관계 및 관계를 사용하여 데이터에 액세스하고 조작하는 방법에 대한 일반적인 내용은 관계 및 탐색 속성을 참조하세요.

연결은 개념적 모델에서 엔터티 형식 간의 관계를 정의합니다. 이 항목에서는 EF 디자이너(Entity Framework Designer)와의 연결을 매핑하는 방법을 보여줍니다. 다음 이미지는 EF 디자이너로 작업할 때 사용되는 기본 창을 보여줍니다.

EF Designer

참고 항목

개념적 모델을 빌드하면 매핑되지 않은 엔터티 및 연결에 대한 경고가 오류 목록에 나타날 수 있습니다. 모델에서 데이터베이스를 생성하도록 선택한 후에는 오류가 사라지므로 이러한 경고를 무시할 수 있습니다.

연결 개요

EF 디자이너를 사용하여 모델을 디자인할 때 .edmx 파일은 모델을 나타냅니다. .edmx 파일에서 Association 요소는 두 엔터티 형식 간의 관계를 정의합니다. 연결은 관계에 관련된 엔터티 형식과 복합성이라도 하는 관계의 각 End에 있는 가능한 엔터티 형식 수를 지정해야 합니다. 연결 끝의 다중성 값은 한 개(1), 0개 이상(0..1) 또는 다수(*)일 수 있습니다. 이 정보는 두 자식 End 요소에 지정되어 있습니다.

런타임 시 연결의 한쪽 끝에 있는 엔터티 형식 인스턴스는 탐색 속성 또는 외래 키를 통해 액세스할 수 있습니다(엔터티에 외래 키를 노출하도록 선택한 경우). 외래 키가 노출되면 엔터티 간의 관계는 ReferentialConstraint 요소(Association 요소의 자식 요소)로 관리됩니다. 엔터티의 관계에 대한 외래 키를 항상 노출하는 것이 좋습니다.

참고 항목

다대다(*:*) 연결의 경우 엔터티에 외래 키를 추가할 수 없습니다. *:* 관계에서 연결 정보는 독립적인 개체로 관리됩니다.

CSDL 요소(ReferentialConstraint, Association 등)에 대한 자세한 내용은 CSDL 사양을 참조하세요.

연결 만들기 및 삭제

Entity Designer에서 연결을 만들어 .edmx 파일의 모델 콘텐츠를 업데이트합니다. 연결을 만든 후 연결에 대한 매핑을 만들어야 합니다(이 항목의 뒷부분에서 설명).

참고 항목

이 섹션에서는 모델 간에 연결을 만들려는 엔터티를 이미 추가한 것으로 가정합니다.

연결을 만들려면

  1. 디자인 화면의 빈 영역을 마우스 오른쪽 단추로 클릭하고 새로 추가를 가리킨 후 ...연결을 선택합니다.

  2. 연결 추가 대화 상자에서 연결에 대한 설정을 입력합니다.

    Add Association

    참고 항목

    **탐색 속성** 및 **<엔터티 형식 이름> 엔터티에 외래 키 속성 추가** 확인란의 선택을 취소하여 연결 끝에 있는 엔터티에 탐색 속성 또는 외래 키 속성을 추가하지 않도록 선택할 수 있습니다. 탐색 속성을 하나만 추가하는 경우 연결은 한 방향으로만 통과할 수 있습니다. 탐색 속성을 추가하지 않는 경우 연결 End에 있는 엔터티에 액세스하기 위해 외래 키 속성을 추가하도록 선택해야 합니다.

  3. 확인을 클릭합니다.

연결을 삭제하려면

연결을 삭제하려면 다음 중 하나를 수행합니다.

  • Entity Designer 화면에서 연결을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.

  • 또는 -

  • 연결을 하나 이상 선택하고 Delete 키를 누릅니다.

엔터티에 외래 키 속성을 포함합니다(참조 제약 조건).

엔터티의 관계에 대한 외래 키를 항상 노출하는 것이 좋습니다. Entity Framework는 참조 제약 조건을 사용하여 속성이 관계의 외래 키 역할을 한다는 것을 식별합니다.

관계를 만들 때 엔터티 형식 이름< 엔터티에 >외래 키 속성 추가 확인란을 선택한 경우 이 참조 제약 조건이 추가되었습니다.

EF 디자이너를 사용하여 참조 제약 조건을 추가하거나 편집하는 경우 EF 디자이너는 .edmx 파일의 CSDL 콘텐츠에 ReferentialConstraint 요소를 추가하거나 수정합니다.

  • 편집할 연결을 두 번 클릭합니다. 참조 제약 조건 대화 상자가 나타납니다.

  • 항목 드롭다운 목록에서 참조 제약 조건의 주 엔터티를 선택합니다. 엔터티의 키 속성이 대화 상자의 주 키 목록에 추가됩니다.

  • 종속 항목 드롭다운 목록에서 참조 제약 조건의 종속 엔터티를 선택합니다.

  • 종속 키가 있는 각 주 키에 대해 종속 키 열의 드롭다운 목록에서 해당되는 종속 키를 선택합니다.

    Ref Constraint

  • 확인을 클릭합니다.

연결 매핑 만들기 및 편집

EF 디자이너의 매핑 세부 정보 창에서 연결이 데이터베이스에 매핑되는 방법을 지정할 수 있습니다.

참고 항목

참조 제약 조건이 지정되지 않은 연결에 대한 세부 정보만 매핑할 수 있습니다. 참조 제약 조건이 지정된 경우 외래 키 속성이 엔터티에 포함되며 엔터티의 매핑 세부 정보를 사용하여 외래 키가 매핑되는 열을 제어할 수 있습니다.

연결 매핑 만들기

  • 디자인 화면에서 연결을 마우스 오른쪽 단추로 클릭하고 테이블 매핑을 선택합니다. 그러면 매핑 세부 정보 창에 연결 매핑이 표시됩니다.

  • 테이블 또는 뷰 추가를 클릭합니다. 스토리지 모델에 있는 모든 테이블이 포함된 드롭다운 목록이 나타납니다.

  • 연결이 매핑될 테이블을 선택합니다. 매핑 세부 정보 창에 연결의 두 끝 및 각 End에 있는 엔터티 형식의 키 속성이 표시됩니다.

  • 각 키 속성에 대해 필드를 클릭하고 속성이 매핑될 열을 선택합니다.

    Mapping Details 4

연결 매핑 편집

  • 디자인 화면에서 연결을 마우스 오른쪽 단추로 클릭하고 테이블 매핑을 선택합니다. 그러면 매핑 세부 정보 창에 연결 매핑이 표시됩니다.
  • <테이블 이름>에 매핑을 클릭합니다. 스토리지 모델에 있는 모든 테이블이 포함된 드롭다운 목록이 나타납니다.
  • 연결이 매핑될 테이블을 선택합니다. 매핑 세부 정보 창에 연결의 두 끝 및 각 End에 있는 엔터티 형식의 키 속성이 표시됩니다.
  • 각 키 속성에 대해 필드를 클릭하고 속성이 매핑될 열을 선택합니다.

탐색 속성 편집 및 삭제

탐색 속성은 모델의 연결 끝에 있는 엔터티를 찾는 데 사용되는 바로 가기 속성입니다. 두 엔터티 형식 간 연결을 만들면 탐색 속성을 만들 수 있습니다.

탐색 속성 편집

  • Entity Designer 화면에서 탐색 속성을 선택합니다. 탐색 속성에 대한 정보가 Visual Studio 속성 창에 표시됩니다.
  • 속성 창에서 속성 설정을 변경합니다.

탐색 속성 삭제

  • 개념적 모델의 엔터티 형식에서 외래 키가 노출되지 않는 경우 탐색 속성을 삭제하면 해당 연결을 한 방향으로만 통과할 수 있는 연결 또는 전혀 통과할 수 없는 연결로 만들 수 있습니다.
  • Entity Designer 화면에서 탐색 속성을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.