EntityClient-Anbieter für Entity FrameworkEntityClient Provider for the Entity Framework

Der EntityClient-Anbieter ist ein von Entity Framework-Anwendungen verwendeter Datenanbieter für den Zugriff auf Daten, die in einem konzeptionellen Modell beschrieben sind.The EntityClient provider is a data provider used by Entity Framework applications to access data described in a conceptual model. Weitere Informationen zu konzeptionellen Modellen finden Sie unter modellieren und zuordnen.For information about conceptual models, see Modeling and Mapping. EntityClient greift mithilfe von anderen .NET Framework-Datenanbietern auf die Datenquelle zu.EntityClient uses other .NET Framework data providers to access the data source. Beim Zugreifen (SqlClient) auf eine SQL Server-Datenbank verwendet EntityClient z. B. den .NET Framework-Datenanbieter für SQL Server.For example, EntityClient uses the .NET Framework Data Provider for SQL Server (SqlClient) when accessing a SQL Server database. Weitere Informationen zu den SqlClient-Anbieter, finden Sie unter SqlClient für Entity Framework.For information about the SqlClient provider, see SqlClient for the Entity Framework. Der EntityClient-Anbieter ist im System.Data.EntityClient-Namespace implementiert.The EntityClient provider is implemented in the System.Data.EntityClient namespace.

Verwalten von VerbindungenManaging Connections

Die Entity FrameworkEntity Framework baut auf speicherspezifischen ADO.NET-DATENANBIETERN entwickelt, durch die Bereitstellung einer EntityConnection zu einem zugrunde liegenden Datenanbieter und der relationalen Datenbank.The Entity FrameworkEntity Framework builds on top of storage-specific ADO.NET data providers by providing an EntityConnection to an underlying data provider and relational database. Zum Erstellen einer EntityConnection -Objekts muss auf einen Satz von Metadaten zu verweisen, die notwendigen Modelle und Zuordnung sowie einen speicherspezifischen-Anbieterzeichenfolge an Namen und eine Verbindung enthält.To construct an EntityConnection object, you have to reference a set of metadata that contains the necessary models and mapping, and also a storage-specific data provider name and connection string. Nach der EntityConnection ist vorhanden, können Entitäten über die aus dem konzeptionellen Modell generierten Klassen zugegriffen werden.After the EntityConnection is in place, entities can be accessed through the classes generated from the conceptual model.

In der Datei app.config kann eine Verbindungszeichenfolge angegeben werden.You can specify a connection string in app.config file.

Der System.Data.EntityClient enthält auch die EntityConnectionStringBuilder-Klasse.The System.Data.EntityClient also includes the EntityConnectionStringBuilder class. Mithilfe dieser Klasse können Entwickler syntaktisch korrekte Verbindungszeichenfolgen programmgesteuert erstellen sowie vorhandene Verbindungszeichenfolgen analysieren und neu erstellen, indem sie Eigenschaften und Methoden der Klasse verwenden.This class enables developers to programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings, by using properties and methods of the class. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer EntityConnection-Verbindungszeichenfolge.For more information, see How to: Build an EntityConnection Connection String.

Erstellen von AbfragenCreating Queries

Die Entity SQLEntity SQL Sprache ist ein speicherunabhängiger Dialekt von SQL, verwendet direkt konzeptionelle Entitätsschemas und unterstützt Entity Data Model-Konzepte wie Vererbung und Beziehungen.The Entity SQLEntity SQL language is a storage-independent dialect of SQL that works directly with conceptual entity schemas and supports Entity Data Model concepts such as inheritance and relationships. Die EntityCommand Klasse dient zum Ausführen einer Entity SQLEntity SQL Befehl für ein Entitätsmodell.The EntityCommand class is used to execute an Entity SQLEntity SQL command against an entity model. Bei der Erstellung von EntityCommand-Objekten kann der Name einer gespeicherten Prozedur oder einen Abfragetext angegeben werden.When you construct EntityCommand objects, you can specify a stored procedure name or a query text. Das Entity FrameworkEntity Framework arbeitet mit speicherspezifischen Datenanbietern, um generisches Entity SQLEntity SQL in speicherspezifische Abfragen zu übersetzen.The Entity FrameworkEntity Framework works with storage-specific data providers to translate generic Entity SQLEntity SQL into storage-specific queries. Weitere Informationen zum Schreiben von Entity SQLEntity SQL Abfragen finden Sie Entity SQL-Sprache.For more information about writing Entity SQLEntity SQL queries, see Entity SQL Language.

Das folgende Beispiel erstellt eine EntityCommand Objekt und weist ihm eine Entity SQLEntity SQL -Abfragetext seine EntityCommand.CommandText Eigenschaft.The following example creates an EntityCommand object and assigns an Entity SQLEntity SQL query text to its EntityCommand.CommandText property. Dies Entity SQLEntity SQL abfrageanforderungen Produkte, sortiert nach dem Listenpreis aus dem konzeptionellen Modell.This Entity SQLEntity SQL query requests products ordered by the list price from the conceptual model. Im folgenden Code werden keinerlei Annahmen über das Speichermodell vorausgesetzt.The following code has no knowledge of the storage model at all.

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

Ausführen von AbfragenExecuting Queries

Wenn eine Abfrage ausgeführt wird, wird sie analysiert und in eine kanonische Befehlsstruktur konvertiert.When a query is executed, it is parsed and converted into a canonical command tree. Die darauf folgende Verarbeitung wird mit der Befehlsstruktur ausgeführt.All subsequent processing is performed on the command tree. Die Befehlsstruktur ist das Mittel der Kommunikation zwischen den System.Data.EntityClient und der zugrunde liegenden .NET Framework-Datenanbieter, wie z. B. System.Data.SqlClient.The command tree is the means of communication between the System.Data.EntityClient and the underlying .NET Framework data provider, such as System.Data.SqlClient.

Der EntityDataReader stellt die Ergebnisse eines für ein konzeptionelles Modell ausgeführten EntityCommand zur Verfügung.The EntityDataReader exposes the results of executing a EntityCommand against a conceptual model. Zum Ausführen des Befehls, das den EntityDataReader zurückgibt, rufen Sie ExecuteReader auf.To execute the command that returns the EntityDataReader, call ExecuteReader. Der EntityDataReader implementiert IExtendedDataRecord, um umfangreiche strukturierte Ergebnisse zu beschreiben.The EntityDataReader implements IExtendedDataRecord to describe rich structured results.

Verwalten von TransaktionenManaging Transactions

Im Entity Framework gibt es zwei Möglichkeiten zur Verwendung von Transaktionen: automatisch und explizit.In the Entity Framework, there are two ways to use transactions: automatic and explicit. Automatische Transaktionen verwenden den System.Transactions-Namespace, und explizite Transaktionen verwenden die EntityTransaction-Klasse.Automatic transactions use the System.Transactions namespace, and explicit transactions use the EntityTransaction class.

Um Daten zu aktualisieren, die über ein konzeptionelles Modell verfügbar gemacht wird, finden Sie unter Vorgehensweise: Verwalten von Transaktionen in Entitätsframework.To update data that is exposed through a conceptual model, see How to: Manage Transactions in the Entity Framework.

In diesem AbschnittIn This Section

Vorgehensweise: Erstellen einer EntityConnection-VerbindungszeichenfolgeHow to: Build an EntityConnection Connection String

Vorgehensweise: Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibtHow to: Execute a Query that Returns PrimitiveType Results

Vorgehensweise: Ausführen einer Abfrage, die StructuralType-Ergebnisse zurückgibtHow to: Execute a Query that Returns StructuralType Results

Vorgehensweise: Ausführen einer Abfrage, die RefType-Ergebnisse zurückgibtHow to: Execute a Query that Returns RefType Results

Vorgehensweise: Ausführen einer Abfrage, die komplexe Typen zurückgibtHow to: Execute a Query that Returns Complex Types

Vorgehensweise: Ausführen einer Abfrage, die geschachtelte Auflistungen zurückgibtHow to: Execute a Query that Returns Nested Collections

Vorgehensweise: Ausführen einer parametrisierten Entity SQL-Abfrage mithilfe von EntityCommandHow to: Execute a Parameterized Entity SQL Query Using EntityCommand

Vorgehensweise: Ausführen einer parametrisierten gespeicherten Prozedur mithilfe von EntityCommandHow to: Execute a Parameterized Stored Procedure Using EntityCommand

Vorgehensweise: Ausführen einer polymorphen AbfrageHow to: Execute a Polymorphic Query

Vorgehensweise: Navigieren in Beziehungen mit dem Navigate-OperatorHow to: Navigate Relationships with the Navigate Operator

Siehe auchSee also