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 información sobre los modelos conceptuales, vea Modelado y asignación. 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 sobre el proveedor SqlClient, vea SqlClient para la Entity Framework. El proveedor de EntityClient se implementa en el espacio de nombres System.Data.EntityClient.

Administrar conexiones

El Entity Framework se basa en proveedores de datos de datos de ADO.NET específicos EntityConnection del almacenamiento proporcionando un a un proveedor de datos subyacente y una base de datos relacional. Para construir un objeto EntityConnection , debe hacer referencia a un conjunto de metadatos que contiene los modelos y la asignación necesarios, así como un nombre de proveedor de datos específico del almacenamiento y una cadena de conexión. Una vez EntityConnection que está en su lugar, se puede acceder a las entidades a través de las clases generadas a partir del 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: Compilar una cadena de conexión EntityConnection.

Crear consultas

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

En el ejemplo siguiente se crea EntityCommand un objeto y se asigna un objeto Entity SQL texto de consulta a su EntityCommand.CommandText propiedad . Esta consulta SQL entidad solicita productos ordenados por el precio de lista 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 y System.Data.EntityClient 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 el 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 el Entity Framework.

En esta sección

Procedimiento para compilar una cadena de conexión EntityConnection

Procedimiento para ejecutar una consulta que devuelve resultados PrimitiveType

Procedimiento para ejecutar una consulta que devuelve resultados StructuralType

Procedimiento para ejecutar una consulta que devuelve resultados RefType

Procedimiento para ejecutar una consulta que devuelve tipos complejos

Procedimiento para ejecutar una consulta que devuelve colecciones anidadas

Procedimiento para ejecutar una consulta parametrizada de Entity SQL mediante EntityCommand

Procedimiento para ejecutar un procedimiento almacenado parametrizado mediante EntityCommand

Procedimiento para ejecutar una consulta polimórfica

Procedimiento para navegar por las relaciones con el operador Navigate

Vea también