방법: 데이터 관계 정의

LightSwitch의 데이터 디자이너를 사용하여 데이터 간의 관계를 만들고 수정하거나 삭제할 수 있습니다.관계는 고객 및 고객의 주문을 모두 보여주는 화면과 같이 관련 데이터 작업을 함께 하는 화면을 만드는 데 도움을 줍니다.

이 문서에는 다음과 같은 단원이 포함되어 있습니다.

  • 동일한 데이터 소스에서 테이블 또는 엔터티 간의 관계 추가

  • 별도 데이터 소스에서 테이블 또는 엔터티 간의 관계 추가

  • 관계 수정

  • 복합성 설정

  • 삭제 동작 설정

비디오에 링크 관련 비디오 데모를 보려면 How Do I: Define My Data in a LightSwitch Application?을 참조하십시오.

동일한 데이터 소스에서 테이블 또는 엔터티 간의 관계 추가

LightSwitch 데이터 디자이너를 사용하여 LightSwitch 내부 데이터베이스의 두 테이블 간에 관계를 추가할 수 있습니다.경우에 따라 데이터 디자이너를 사용하면 동일한 외부 데이터 소스 엔터티 간의 관계를 특정 제약 조건에 추가할 수도 있습니다.그렇지 않은 경우에는 서버에 해당 관계를 만든 후 LightSwitch의 데이터 연결을 새로 고침합니다.데이터 소스에 연결을 새로 고침하는 방법에 대한 자세한 내용은 방법: 데이터에 연결를 참조하십시오.

LightSwitch 내부 데이터베이스에 테이블 간의 관계 추가

  1. 솔루션 탐색기에서 관계에 사용하려는 테이블 중 하나를 두 번 클릭합니다.

  2. 데이터 디자이너의 명령 모음에서 관계를 클릭합니다.

  3. 새 관계 추가 대화 상자의 이름 행에서 관계를 적용할 두 테이블을 선택합니다. 예를 들어, Customers 및 Orders를 선택합니다.

  4. 복합성 행에서 테이블 관계를 어떻게 설정할지 지정합니다.복합성 및 관계의 종류에 대한 자세한 내용은 Multiplicity Settings를 참조하십시오.

  5. 한 테이블에서 레코드를 삭제하려고 하지만 다른 테이블에 있는 데이터 관련 레코드에 여전히 존재하는 경우, 사용자가 고객을 삭제하려고 하지만 고객이 주문한 것이 여전히 남아 있을 때 응용 프로그램이 어떻게 처리할 것인지 삭제 동작 행에서 지정합니다.자세한 내용은 Delete Behavior Settings를 참조하십시오.

  6. 탐색 속성 행에서 모든 탐색 속성에 대한 이름을 제공합니다.탐색 속성은 관련된 데이터를 표시하는 스크린 영역 간에서 이동하는 데 유용합니다.탐색 속성은 또한 IntelliSense에서 개체로 나타나고 이러한 개체를 사용하여 코드에서 LINQ 식을 만들 수 있습니다.

  7. 확인을 클릭합니다.

연결된 데이터베이스의 테이블 간에 관계를 추가하는 방법

  1. 솔루션 탐색기에서 관계에 사용하려는 테이블 중 하나를 두 번 클릭합니다.

  2. 데이터 디자이너의 명령 모음에서 관계를 클릭합니다.

    새 관계 추가 대화 상자가 열립니다.

  3. 이름 행의 받는 사람 열에서 관계를 적용하려는 테이블을 선택합니다.

    테이블은 관계의 기본 키 쪽에 사용할 기본 키를 포함해야 합니다.

  4. 복합성 행에서 테이블 관계를 어떻게 설정할지 지정합니다.

    자세한 내용은 Multiplicity Settings를 참조하십시오.

  5. 새 관계 추가 대화 상자 근처에 나타나는 데이터 표에서 관계의 외래 측의 속성을 선택합니다.

    이 속성은 기본 키 속성의 데이터 형식과 일치해야 합니다.

    [!참고]

    테이블에 복합 기본 키가 있는 경우 모든 외래 키 데이터 형식이 일치해야 합니다.

    [!참고]

    0 또는 일 대 다 관계에서 외부 키 속성은 필수 필드일 수 없습니다.일 대 다 관계에서 외부 키 속성은 필수 필드여야 합니다.0 또는 일대일 관계의 경우 양쪽 관계에서 모두 기본 키 값을 사용해야 합니다.

  6. 확인 단추를 선택합니다.

별도 데이터 소스에서 테이블 또는 엔터티 간의 관계 추가

LightSwitch 데이터 디자이너를 사용하고, 테이블 간에, 또는 개별 데이터 원본의 엔터티 간에 관계를 추가할 수 있습니다.예를 들어, LightSwitch 내부 데이터베이스의 테이블과 SharePoint 목록의 엔터티 간의 관계를 추가할 수 있습니다.

별도 데이터 소스에서 테이블 두 개 또는 엔터티 간의 관계 추가

  1. 솔루션 탐색기에서 관계에 사용하려는 테이블 또는 엔터티 중 하나를 두 번 클릭합니다.

  2. 데이터 디자이너의 명령 모음에서 관계를 클릭합니다.

  3. 새 관계 추가 대화 상자의 이름 행에서 관계를 적용할 테이블 또는 엔터티를 선택합니다. 예를 들어, Customers 및 Orders를 선택합니다.

  4. 복합성 행에서 테이블 또는 엔터티 관계를 어떻게 설정할지 지정합니다.복합성 및 관계의 종류에 대한 자세한 내용은 Multiplicity Settings를 참조하십시오.

    [!참고]

    On Delete Behavior 행은 이 종류의 관계를 위해 사용할 수 없습니다.

  5. 탐색 속성 행에서 모든 탐색 속성에 대한 이름을 제공합니다.탐색 속성은 관련된 데이터를 표시하는 스크린 영역 간에서 이동하는 데 유용합니다.탐색 속성은 또한 IntelliSense에서 개체로 나타나고 이러한 개체를 사용하여 코드에서 LINQ 식을 만들 수 있습니다.

  6. 새 관계 추가 대화 상자의 아래에 나타나는 데이터 그리드에서 하나의 테이블 또는 엔터티 및 다른 테이블 또는 엔터티에 있는 관련된 속성의 속성을 선택합니다.이러한 속성은 테이블 또는 엔터티가 함께 링크되는 곳에 존재합니다.예를 들어, Customer 엔터티의 Id 속성 및 Order 엔터티의 CustomerID 속성을 선택합니다.

  7. 확인을 클릭합니다.

관계 수정

LightSwitch 데이터 디자이너를 사용하여 관계를 수정하거나 삭제할 수 있습니다.

기존 관계를 수정하려면

  1. 솔루션 탐색기에서 관계에 사용하는 엔터티 또는 테이블 중 하나를 두 번 클릭합니다.

  2. 데이터 디자이너에서 다른 엔터티 또는 테이블과의 관계를 나타내는 탐색 속성을 선택합니다.예를 들어 고객 엔터티에 고객-주문 관계에서 탐색 속성으로 사용되는 주문이라는 속성이 있을 수 있습니다.

  3. 속성 창에서 관계 속성 편집을 클릭합니다.

    관계 편집 대화 상자가 열립니다.

    관계를 수정하려면 이 문서의 해당 섹션을 참조하십시오.

    • 동일 데이터 소스에서 엔터티 간의 관계 추가

    • 별도 데이터 소스에서 엔터티 간의 관계 추가

  4. 확인을 클릭합니다.

관계를 삭제하려면

  1. 솔루션 탐색기에서 관계에 사용하는 엔터티 또는 테이블 중 하나를 두 번 클릭합니다.

  2. 데이터 디자이너에서 다른 엔터티 또는 테이블로의 관계를 나타내는 탐색 속성을 마우스 오른쪽 단추로 클릭한 다음 삭제를 클릭합니다.

복합성 설정

다음 표에서는 LightSwitch에서 사용할 수 있는 복합성 설정 조합을 보여 줍니다.

From

To

설명

One

0 또는 1

"From"은 "To"를 하나만 가지거나 가질 수 없지만 "To"는 하나의 "From"을 반드시 가져야 합니다.

One

많음

"From"은 많은 "To" 인스턴스를 가질 수 있지만 "To"는 하나의 "From"을 반드시 가져야 합니다.

0 또는 1

One

"From"은 하나의 "To"를 반드시 가져야 하지만 "To"는 "From"을 하나만 가지거나 가지지 않을 수 있습니다.

0 또는 1

많음

"From"은 많은 "To" 인스턴스를 가질 수 있으며 "To"는 "From"을 하나만 가지거나 가질 수 없습니다.

많음

One

"From"은 하나의 "To"를 가져야 하지만 "To"는 많은 "From" 인스턴스를 가질 수 있습니다.

많음

0 또는 1

"From"은 "To"를 하나만 가지거나 가질 수 없으며 "To"는 많은 "From" 인스턴스를 가질 수 있습니다.

[!참고]

일대일, 0 또는 일대영, 또는 하나, 다대다 관계를 LightSwitch 데이터 디자이너를 사용하여 지정할 수 없습니다.

삭제 동작 설정

다음 표는 사용자가 관계의 일부인 레코드를 삭제하려고 하면 어떻게 되는지 제어하도록 설정하는 옵션을 보여 줍니다.관계의 특정 종류에 대해 일부 옵션은 사용할 수 없습니다.

On Delete Behavior

설명

계단식 삭제

"Table1"이 삭제되면 관련 "Table2" 인스턴스를 모두 삭제합니다.

Restricted

"Table1"이 "Table2" 인스턴스와 관련이 있는 경우 삭제할 수 없습니다.

예를 들어, 데이터베이스에 관련된 주문이 있는 경우 제한됨을 선택해서 고객을 삭제할 수 없도록 지정합니다.

연결 끊기

"Table1"이 삭제되면 "Table2" 인스턴스와 관계한 "Table1"의 참조를 null(으)로 설정합니다.

참고 항목

기타 리소스

데이터: 응용 프로그램 뒤의 정보