다음을 통해 공유


웹 서비스 및 엔터티 데이터 모델(응용 프로그램 시나리오)

EDM(엔터티 데이터 모델)에서는 데이터 원본에 대한 추상화의 개념적 레이어가 제공됩니다. 개체 서비스는 개념적 레이어에서 정의된 엔터티를 클라이언트 응용 프로그램(예: Windows Forms 응용 프로그램, ASP.NET 응용 프로그램)에서 사용할 수 있는 CLR 개체로 구체화합니다. 엔터티 프레임워크는 웹 서비스나 WCF(Windows Communication Foundation)와 같이 원격 및 메시지 기반으로 엔터티 개체를 교환할 수 있는 형식으로 엔터티 개체를 serialize할 수 있도록 지원합니다. 개체 serialization은 이진 serialization, XML serialization뿐만 아니라 이진 스트림이나 메시지 기반 프로토콜을 사용한 전송을 위한 WCF 계약 serialization을 통해 수행할 수 있습니다. 자세한 내용은 개체 Serialize(Entity Framework)를 참조하십시오. 개체는 또한 메시지나 스트림으로부터 수신하거나, deserialize하거나, 개체 컨텍스트에 연결할 수도 있습니다. 자세한 내용은 개체 연결(Entity Framework)을 참조하십시오.

ADO.NET 데이터 서비스를 사용하면 응용 프로그램을 통해 사용할 수 있는 XML 형식의 EDM 데이터에 동적으로 액세스할 수도 있습니다. 이 엔터티 데이터에는 GET, PUT, POST와 같은 표준 REST(Representational State Transfer) HTTP 동작을 사용하여 액세스합니다. 자세한 내용은 ADO.NET 데이터 서비스 프레임워크를 참조하십시오.

엔터티 프레임워크를 사용하는 웹 서비스나 WCF 서비스를 생성할 때는 다음 사항을 고려해야 합니다.

  • 이진 serialization 및 DataContract serialization에 대해 전체 그래프 serialization이 지원됩니다. XML serialization은 관련 개체를 serialize하지 않습니다.

  • 개체는 항상 Detached 상태에서 deserialize됩니다. 개체를 ObjectContext에 연결 또는 추가해야 할 수도 있고, 아니면 원래 개체에 속성 변경만 적용할 수도 있습니다. 자세한 내용은 개체 연결(Entity Framework)을 참조하십시오.

  • 상태 저장 안 한 서비스를 권장합니다. 개체 컨텍스트가 요청이나 응답 기간 동안만 유지되도록 서비스를 설계해야 합니다. 원래 개체를 검색하기 위해 개체를 유지하거나 데이터 원본을 다시 쿼리하지 않고도 변경 내용이 적용될 수 있도록 메시지 교환 패턴에는 충분한 정보가 포함되어야 합니다. 예를 들어, 클라이언트에서의 개체 업데이트가 가능하려면 해당 서비스에서 업데이트된 개체가 원래 개체와 함께 반환되어야 합니다. 그러면 원래 개체를 데이터베이스에서 검색하거나 메모리에 유지하지 않고도 웹 서비스에서 ApplyPropertyChanges 메서드를 통해 변경 내용이 원래 개체에 적용됩니다. 자세한 내용은 방법: 분리된 개체에 대한 변경 내용 적용(Entity Framework)을 참조하십시오.

참고 항목

개념

개체 서비스 개요(Entity Framework)