Proveedor de Entity Framework (WCF Data Services)

Al igual que ocurre con Servicios de datos de Microsoft WCF, ADO.NET Entity Framework está basado en Entity Data Model, que es un tipo de modelo entidad-relación. Entity Framework traduce las operaciones efectuadas sobre su implementación de Entity Data Model, que se denomina el modelo conceptual, en operaciones equivalentes sobre un origen de datos. De esta forma, Entity Framework se convierte en un proveedor ideal para los servicios de datos basados en datos relacionales y se puede usar cualquier base de datos con un proveedor de datos que admita Entity Framework con Servicios de datos de Microsoft WCF. Para obtener una lista de los orígenes de datos que son compatibles actualmente con Entity Framework, vea Proveedores de terceros para Entity Framework.

En un modelo conceptual, el contenedor de entidades es la raíz del servicio. Debe definir un modelo conceptual en Entity Framework antes de que un servicio de datos pueda exponer los datos. Entity Framework proporciona herramientas que generan automáticamente una capa de objetos según el modelo conceptual. La capa de objeto incluye los tipos de entidad y una clase de contenedor, que hereda de la clase ObjectContext. La clase de contenedor suele tener propiedades de conjunto de entidades que devuelven una colección IQueryable<T> de entidades del tipo especificado. Al utilizar el proveedor de Entity Framework, simplemente proporciona esta clase de contenedor como el tipo de DataService<T> del que deriva su servicio de datos, como en el siguiente ejemplo para un servicio de datos de Northwind.

Public Class Northwind
    Inherits DataService(Of NorthwindEntities)
public class Northwind : DataService<NorthwindEntities>

Para obtener más información, vea Cómo: Crear un servicio de datos mediante un origen de datos de ADO.NET Entity Framework (WCF Data Services).

La característica Code First de Entity Framework se incluyó en Entity Framework 4.1. Al utilizar Code First para definir el modelo de datos, se definirá una clase de contexto que deriva de la clase DbContext en lugar de la clase ObjectContext. Una instancia DbContext también se puede usar como el tipo de DataService<T> desde el que se deriva el servicio de datos.

Servicios de datos de Microsoft WCF admite el modelo de simultaneidad optimista al permitirle definir un token de simultaneidad para una entidad. El servicio de datos utiliza este token de simultaneidad, que incluye una o más propiedades de la entidad, para determinar si se ha producido un cambio en los datos que se solicitan, que se están actualizando o eliminando. Cuando los valores de token obtenidos de la eTag de la solicitud difieren de los valores actuales de la entidad, el servicio de datos inicia una excepción. Para indicar que una propiedad forma parte del token de simultaneidad, debe aplicar el atributo ConcurrencyMode="Fixed" en el modelo de datos definido por el proveedor de Entity Framework. El token de simultaneidad no puede incluir ninguna propiedad clave ni de navegación. Para obtener más información, vea Actualizar el servicio de datos (WCF Data Services).

Para obtener más información sobre Entity Framework, vea Entity Framework Overview.

Vea también

Conceptos

Proveedores de servicios de datos (WCF Data Services)

Proveedor de reflexión (WCF Data Services)

Entity Data Model