Proveedor de EntityClient para Entity Framework

El proveedor de EntityClient es un proveedor de datos que usan las aplicaciones de Entity Framework para tener acceso a los datos descritos en un modelo conceptual. Para obtener más información sobre los modelos conceptuales, vea Modelado y asignación (Entity Framework). EntityClient utiliza otros proveedores de datos .NET Framework para tener acceso al origen de datos. Por ejemplo, EntityClient utiliza el Proveedor de datos .NET Framework para SQL Server (SqlClient) al tener acceso a una base de datos de SQL Server. Para obtener información acerca del proveedor SqlClient, vea Proveedor de datos .NET Framework para SQL Server (SqlClient) para Entity Framework. El proveedor de EntityClient se implementa en el espacio de nombres System.Data.EntityClient.

Administrar las conexiones

Entity Framework se basa en proveedores de datos ADO.NET específicos del almacenamiento proporcionando un objeto EntityConnection a un proveedor de datos subyacente y una base de datos relacional. Para crear un objeto EntityConnection, se ha de hacer referencia a un conjunto de metadatos que contiene la asignación y los modelos necesarios, y también el nombre de un proveedor de datos específico del almacenamiento y una cadena de conexión. Una vez activado el objeto EntityConnection, se puede tener acceso a las entidades a través de las clases generadas desde el modelo conceptual.

Se puede especificar una cadena de conexión en el archivo app.config.

El espacio de nombres System.Data.EntityClient también incluye la clase EntityConnectionStringBuilder. Esta clase permite que los programadores creen mediante programación cadenas de conexión sintácticamente correctas, y que analicen y recompilen las cadenas de conexión existentes, utilizando las propiedades y los métodos de la clase. Para obtener más información, vea Cómo generar una cadena de conexión EntityConnection (Entity Framework).

Crear consultas

El lenguaje de Entity SQL es un dialecto independiente del almacenamiento de SQL que trabaja directamente con esquemas de entidades conceptuales y admite conceptos de Entity Data Model, como la herencia y las relaciones. La clase EntityCommand se utiliza para ejecutar un comando de Entity SQL con un modelo de la entidad. Cuando se crean objetos de EntityCommand, se puede especificar un nombre de procedimiento almacenado o un texto de consulta. Entity Framework trabaja con proveedores de datos específicos del almacenamiento para traducir el Entity SQL genérico en consultas específicas del almacenamiento. Para obtener más información acerca de cómo escribir consultas de Entity SQL , vea Lenguaje Entity SQL.

En el ejemplo siguiente se crea un objeto de EntityCommand y se asigna un texto de consulta de Entity SQL a su propiedad System.Data.EntityClient.EntityCommand.CommandText. Esta consulta de Entity SQL solicita productos ordenados por el precio de venta del modelo conceptual. El código siguiente no tiene conocimiento alguno del modelo de almacenamiento.

EntityCommand cmd = conn.CreateCommand();

cmd.CommandText = @" SELECT VALUE p

FROM AdventureWorksEntities.Product AS p

ORDER BY p.ListPrice ";

Ejecutar consultas

Cuando se ejecuta una consulta, se analiza y se convierte en un árbol de comandos canónico. Todo el procesamiento subsiguiente se realiza en el árbol de comandos. El árbol de comandos es el medio de comunicación entre el espacio de nombres System.Data.EntityClient y el proveedor de datos .NET Framework subyacente, como System.Data.SqlClient.

EntityDataReader muestra los resultados de ejecutar EntityCommand en un modelo conceptual. Para ejecutar el comando que devuelve EntityDataReader, llame a ExecuteReader. EntityDataReader implementa IExtendedDataRecord para describir resultados estructurados enriquecidos.

Administrar transacciones

En Entity Framework, hay dos maneras de utilizar las transacciones: automática y explícita. Las transacciones automáticas usan el espacio de nombres System.Transactions y las transacciones explícitas usan la clase EntityTransaction.

Para actualizar los datos que se exponen a través de un modelo conceptual; vea Cómo: Administrar transacciones en Entity Framework.

En esta sección

Cómo generar una cadena de conexión EntityConnection (Entity Framework)

Cómo: Ejecutar una consulta que devuelve resultados PrimitiveType (EntityClient)

Cómo: Ejecutar una consulta que devuelve resultados StructuralType (EntityClient)

Cómo: Ejecutar una consulta que devuelve resultados RefType (EntityClient)

Cómo: Ejecutar una consulta que devuelve tipos complejos (EntityClient)

Cómo: Ejecutar una consulta que devuelve colecciones anidadas (EntityClient)

Cómo: Ejecutar una consulta de Entity SQL parametrizada con EntityCommand (EntityClient)

Cómo: Ejecutar un procedimiento almacenado parametrizado usando EntityCommand (EntityClient)

Cómo ejecutar una consulta polimórfica (EntityClient)

Cómo: Navegar por las relaciones con el operador Navigate (EntityClient)

Vea también

Conceptos

Administrar conexiones y transacciones (Entity Framework)
ADO.NET Entity Framework

Otros recursos

Referencia del lenguaje (Entity Framework)