ReferentialConstraint 요소(CSDL)

CSDL(개념 스키마 정의 언어)의 ReferentialConstraint 요소는 관계 데이터베이스의 참조 무결성 제약 조건과 유사한 기능을 정의합니다. 데이터베이스 테이블의 열에서 다른 테이블의 기본 키를 참조하는 방식과 동일하게 엔터티 형식의 속성은 다른 엔터티 형식의 엔터티 키를 참조할 수 있습니다. 참조되는 엔터티 형식을 제약 조건의 주 끝이라고 합니다. 주 끝을 참조하는 엔터티 형식은 제약 조건의 종속 끝이라고 합니다.

하나의 엔터티 형식에서 노출되는 외래 키가 다른 엔터티 형식의 속성을 참조하는 경우 ReferentialConstraint 요소는 두 엔터티 형식 간의 연결을 정의합니다. ReferentialConstraint 요소에서 두 엔터티 형식이 관련되는 방법에 대한 정보를 제공하므로 해당 AssociationSetMapping 요소가 MSL(매핑 사양 언어)에 필요하지 않습니다. 노출된 외래 키가 없는 두 엔터티 형식 간 연결은 연결 정보를 데이터 소스에 매핑하기 위해 해당 AssociationSetMapping 요소가 있어야 합니다.

엔터티 형식에서 외래 키가 노출되지 않은 경우 ReferentialConstraint 요소는 엔터티 형식과 다른 엔터티 형식 간의 기본 키 대 기본 키 제약 조건만 정의할 수 있습니다.

ReferentialConstraint 요소는 다음에 나열된 순서대로 자식 요소를 포함할 수 있습니다.

적용 가능한 특성

ReferentialConstraint 요소에는 주석 특성(사용자 지정 XML 특성)이 원하는 수만큼 포함될 수 있습니다. 그러나 사용자 지정 특성은 CSDL에 예약된 XML 네임스페이스에 속할 수 없습니다. 두 사용자 지정 특성의 정규화된 이름은 서로 같을 수 없습니다.

예제

다음 예제에서는 PublishedBy 연결 정의의 일부로 사용 중인 ReferentialConstraint 요소를 보여 줍니다.

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

참고 항목

개념

Entity Framework 개요
CSDL 사양
Schema 요소(CSDL)
Association 요소(CSDL)

기타 리소스

CSDL, SSDL 및 MSL 사양
ADO.NET Entity Data Model Tools
referential integrity constraint (Entity Data Model)