다음을 통해 공유


복합 형식 개체(Entity Framework)

복합 형식은 스칼라 속성이 엔터티 내에 구성되도록 하는 엔터티 형식의 비스칼라 속성입니다. 복합 형식은 엔터티와 같이 스칼라 속성 또는 다른 복합 형식 속성으로 이루어집니다. 복합 형식은 키를 사용하지 않으므로 Entity Framework 에서 부모 개체와 별개로 복합 형식 개체를 관리할 수 없습니다. 자세한 내용은 ComplexType 요소(CSDL)를 참조하십시오.

Entity Framework 도구에서 엔터티 형식을 나타내는 개체를 생성할 때 이러한 개체는 EntityObject에서 상속합니다. 마찬가지로 복합 형식에서 생성된 개체도 ComplexObject에서 상속합니다. 두 클래스 모두 StructuralObject 기본 클래스에서 상속합니다. 복합 형식 개체의 스칼라 속성은 다른 스칼라 속성과 같이 액세스할 수 있습니다. 자세한 내용은 방법: 복합 형식 쿼리(Entity Framework)을 참조하십시오.

복합 형식을 나타내는 개체를 사용할 때 다음 사항에 유의하십시오.

  • 복합 형식 속성은 null일 수 없습니다. SaveChanges를 호출하여 null 복합 개체가 발견되면 InvalidOperationException이 발생합니다. 복합 개체의 스칼라 속성은 엔터티의 스칼라 속성과 같이 null일 수 있습니다.

  • 복합 형식은 다른 복합 형식에서 상속할 수 없습니다.

  • 복합 형식의 개체 그래프에 있는 속성이 변경될 때 부모 형식의 속성은 변경된 것으로 표시되며, SaveChanges가 호출되면 복합 형식의 개체 그래프에 있는 모든 속성이 업데이트됩니다.

  • 엔터티 데이터 모델 도구를 통해 개체 계층이 생성되면 부모 개체가 인스턴스화될 때가 아니라 복합 형식 속성에 액세스할 때 복합 개체가 인스턴스화됩니다.

복합 형식 속성이 포함된 POCO(Plain Old CLR Object) 형식으로 작업하는 경우 다음과 같은 고려 사항도 적용됩니다.

다음 항목에서는 ADO.NET 엔터티 데이터 모델 디자이너를 사용하여 복합 형식이 포함된 다양한 작업을 수행하는 방법을 보여 줍니다.

How to: Create and Modify Complex Types

How to: Add a Complex Type Property to an Entity

How to: Refactor Existing Properties into a Complex type Property

How to: Map Complex Type Properties to Table Columns

How to: Map a Function Import to a Complex Type

참고 항목

개념

개체 사용(Entity Framework)