Compartir a través de


Servicios web y Entity Data Model (escenarios de aplicación)

Entity Data Model (EDM) proporciona una capa conceptual de abstracción sobre el origen de datos. Servicios de objeto materializa entidades definidas en la capa conceptual en objetos de CLR que se pueden utilizar en aplicaciones cliente, como aplicaciones de formularios Windows Forms y aplicaciones de ASP.NET. Entity Framework admite la serialización de objetos entidad en formatos que permiten el intercambio remoto y basado en mensajes de objetos entidad, como servicios web y Windows Communication Foundation (WCF). Los objetos se pueden serializar utilizando la serialización binaria, la serialización XML y la serialización de contrato WCF para el transporte utilizando protocoles basados en mensajes o secuencia binaria. Para obtener más información, vea Serializar objetos (Entity Framework). Los objetos también se pueden recibir de un mensaje o una secuencia, deserializar y asociar a un contexto del objeto. Para obtener más información, vea Asociar objetos (Entity Framework).

Servicios de datos de ADO.NET también permite proporcionar acceso dinámico a datos de EDM en formato XML que puede ser utilizado por aplicaciones. Se tiene acceso a estos datos de entidad utilizando acciones HTTP de Representational State Transfer (REST) estándar, como GET, PUT y POST. Para obtener más información, vea Marco de trabajo de los servicios de datos de ADO.NET.

Deben tenerse en cuenta los siguientes puntos al crear servicios web o servicios WCF que utilizan Entity Framework:

  • La serialización de gráfico total se admite para la serialización binaria y la serialización DataContract. La serialización XML no serializa objetos relacionados.

  • Los objetos siempre se deserializan en estado Detached. Puede que sea necesario asociar o agregar el objeto a un ObjectContext, o puede que solo se desee aplicar cambios de propiedad al objeto original. Para obtener más información, vea Asociar objetos (Entity Framework).

  • Se recomiendan los servicios sin estado. Los servicios se deben diseñar de modo que un contexto del objeto sólo se mantenga para la duración de una solicitud o una respuesta. El modelo de intercambio de mensajes debe incluir información suficiente para que los cambios se puedan aplicar sin tener que conservar los objetos ni volver a consultar el origen de datos para recuperar el objeto original. Por ejemplo, un servicio que permite a un cliente actualizar objetos debe requerir que el objeto actualizado se devuelva junto con el objeto original. Esto permite que el servicio web aplique cambios al objeto original utilizando el método ApplyPropertyChanges sin que se tenga que recuperar el objeto original de la base de datos ni conservarlo en memoria. Para obtener más información, vea Cómo aplicar los cambios realizados a un objeto desasociado (Entity Framework).

Vea también

Conceptos

Información general de Servicios de objeto (Entity Framework)