이 설명서는 보관되지만 유지 되지 않습니다.

방법: 복합 형식 쿼리(Entity Framework)

이 항목에서는 복합 형식 속성이 포함된 엔터티 형식 개체를 반환하는 쿼리의 실행 방법을 보여 줍니다. 복합 형식에 대한 자세한 내용은 복합 형식 개체(Entity Framework)How to: Create and Modify Complex Types을 참조하십시오.

이 예제의 코드를 실행하려면

  1. 프로젝트에 AdventureWorks Sales 모델을 추가하고 Entity Framework 를 사용하도록 프로젝트를 구성합니다. 자세한 내용은 방법: 엔터티 데이터 모델 마법사 사용(Entity Framework)을 참조하십시오.

  2. 응용 프로그램의 코드 페이지에서 다음 using 문(Visual Basic에서는 Imports)을 추가합니다.

    using System;
    using System.Collections.Generic;
    using System.Collections;
    using System.Data.Common;
    using System.Data;
    using System.IO;
    using System.Data.SqlClient;
    using System.Data.EntityClient;
    using System.Data.Metadata.Edm;
    
    
  3. .edmx 파일을 두 번 클릭하여 Entity Designer의 모델 브라우저 창에 모델을 표시합니다.

  4. Entity Designer 화면에서 Contact 엔터티 형식의 EmailPhone 속성을 선택한 다음 마우스 오른쪽 단추를 클릭하고 새 복합 형식으로 리팩터링을 선택합니다. 선택한 EmailPhone 속성을 갖는 새 복합 형식이 Model 브라우저에 추가됩니다.

  5. 새 형식의 이름을 EmailPhone으로 바꿉니다. Contact 엔터티 형식의 속성 이름을 EmailPhoneComplexType으로 바꿉니다.

    엔터티 데이터 모델 마법사를 사용하여 복합 형식을 만들고 수정하는 방법은 How to: Refactor Existing Properties into a Complex Type Property (Entity Data Model Tools)How to: Create and Modify Complex Types을 참조하십시오.

예제

다음 예제에서는 Contacts의 컬렉션을 반환하는 쿼리를 실행합니다. Contact 형식에는 EmailAddress 속성과 Phone 속성으로 구성된 복합 형식 속성 EmailPhoneComplexProperty가 포함되어 있습니다. 이 예제에서는 ContactID 속성과 EmailPhoneComplexType 복합 형식의 값을 출력합니다.



using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    var contacts =
        from contact in context.Contacts
        where contact.ContactID == 3
        select contact;

    foreach (Contact contact in contacts)
    {
        Console.WriteLine("Contact Id: " + contact.ContactID);
        Console.WriteLine("Contact's email: " + contact.EmailPhoneComplexProperty.EmailAddress);
        Console.WriteLine("Contact's phone#: " + contact.EmailPhoneComplexProperty.Phone);
    }
}

참고 항목

참조




표시: