Partilhar via


Provedor EntityClient para Entity Framework

O provedor EntityClient é um provedor de dados usado por aplicativos do Entity Framework para acessar dados descritos em um modelo conceitual. Para obter informações sobre modelos conceituais, consulte Modelagem e mapeamento. EntityClient usa outros provedores de dados do .NET Framework para acessar a fonte de dados. Por exemplo, EntityClient usa o Provedor de Dados do .NET Framework para SQL Server (SqlClient) ao acessar um banco de dados do SQL Server. Para obter informações sobre o provedor SqlClient, consulte SqlClient para o Entity Framework. O provedor EntityClient é implementado no System.Data.EntityClient namespace.

Gerir Ligações

O Entity Framework se baseia em provedores de dados ADO.NET específicos de armazenamento, fornecendo um EntityConnection para um provedor de dados subjacente e um banco de dados relacional. Para construir um EntityConnection objeto, você precisa fazer referência a um conjunto de metadados que contém os modelos e o mapeamento necessários, além de um nome de provedor de dados específico de armazenamento e uma cadeia de conexão. Após a entrada em vigor, as EntityConnection entidades podem ser acessadas através das classes geradas a partir do modelo conceitual.

Você pode especificar uma cadeia de conexão no arquivo app.config.

O System.Data.EntityClient também inclui a EntityConnectionStringBuilder classe. Essa classe permite que os desenvolvedores criem programaticamente cadeias de conexão sintaticamente corretas e analisem e reconstruam cadeias de conexão existentes, usando propriedades e métodos da classe.

Criação de consultas

A linguagem Entity SQL é um dialeto de SQL independente de armazenamento que trabalha diretamente com esquemas de entidade conceitual e suporta conceitos de Modelo de Dados de Entidade, como herança e relacionamentos. A EntityCommand classe é usada para executar um comando Entity SQL em um modelo de entidade. Ao construir EntityCommand objetos, você pode especificar um nome de procedimento armazenado ou um texto de consulta. O Entity Framework trabalha com provedores de dados específicos de armazenamento para converter Entity SQL genérico em consultas específicas de armazenamento. Para obter mais informações sobre como escrever consultas Entity SQL, consulte Entity SQL Language.

O exemplo a seguir cria um EntityCommand objeto e atribui um texto de consulta Entity SQL à sua EntityCommand.CommandText propriedade. Esta consulta Entity SQL solicita produtos ordenados pelo preço de tabela do modelo conceitual. O código a seguir não tem nenhum conhecimento do modelo de armazenamento.

EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"SELECT VALUE p
 FROM AdventureWorksEntities.Product AS p
 ORDER BY p.ListPrice";

Executando consultas

Quando uma consulta é executada, ela é analisada e convertida em uma árvore de comandos canônica. Todo o processamento subsequente é realizado na árvore de comandos. A árvore de comandos é o meio de comunicação entre o System.Data.EntityClient provedor de dados .NET Framework e o provedor de dados .NET Framework subjacente, como System.Data.SqlClient.

O EntityDataReader expõe os resultados da execução de um EntityCommand contra um modelo conceitual. Para executar o comando que retorna o , chame EntityDataReaderExecuteReader. Os EntityDataReader implementos para descrever resultados estruturados ricos IExtendedDataRecord .

Gerenciando transações

No Entity Framework, há duas maneiras de usar transações: automática e explícita. As transações automáticas usam o namespace e as System.Transactions transações explícitas usam a EntityTransaction classe.

Para atualizar dados expostos por meio de um modelo conceitual, consulte Como gerenciar transações no Entity Framework.

Nesta Secção

Como: Executar uma consulta que retorna resultados PrimitiveType

Como: Executar uma consulta que retorna resultados StructuralType

Como: Executar uma consulta que retorna resultados RefType

Como: Executar uma consulta que retorna tipos complexos

Como executar uma consulta que retorna coleções aninhadas

Como: Executar uma consulta SQL de entidade parametrizada usando EntityCommand

Como: Executar um procedimento armazenado parametrizado usando EntityCommand

Como: Executar uma consulta polimórfica

Como: Navegar relacionamentos com o operador Navigate

Consulte também