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 Modellierung und Zuordnung.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 zum SqlClient-Anbieter finden Sie unter SqlClient für die 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

Der Entity Framework baut auf Speicher spezifischen ADO.NET-Datenanbietern auf, indem er einem EntityConnection zugrunde liegenden Datenanbieter und einer relationalen Datenbank ein bereitstellt.The Entity Framework builds on top of storage-specific ADO.NET data providers by providing an EntityConnection to an underlying data provider and relational database. Um ein EntityConnection Objekt zu erstellen, müssen Sie auf einen Satz von Metadaten verweisen, der die erforderlichen Modelle und die Zuordnung sowie einen Speicher spezifischen Datenanbieter Namen und eine Verbindungs Zeichenfolge 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. Nachdem der EntityConnection vorhanden ist, kann auf Entitäten über die vom 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 Sie eine EntityConnection-Verbindungs Zeichenfolge.For more information, see How to: Build an EntityConnection Connection String.

Erstellen von AbfragenCreating Queries

Die Entity SQLEntity SQL Sprache ist ein Speicher unabhängiger Dialekt von SQL, der direkt mit konzeptionellen Entitäts Schemas arbeitet und Entity Data Model Konzepte wie Vererbung und Beziehungen unterstützt.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 wird verwendet, um Entity SQLEntity SQL einen Befehl für ein Entitäts Modell auszuführen.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. Der Entity Framework arbeitet mit Speicher spezifischen Datenanbietern zusammen, um generische Entity SQLEntity SQL in Speicher spezifische Abfragen zu übersetzen.The Entity Framework works with storage-specific data providers to translate generic Entity SQLEntity SQL into storage-specific queries. Weitere Informationen zum Schreiben Entity SQLEntity SQL von Abfragen finden Sie unter Entity SQL Sprache.For more information about writing Entity SQLEntity SQL queries, see Entity SQL Language.

Im folgenden Beispiel wird ein EntityCommand -Objekt erstellt und Entity SQLEntity SQL der- EntityCommand.CommandText Eigenschaft ein Abfragetext zugewiesen.The following example creates an EntityCommand object and assigns an Entity SQLEntity SQL query text to its EntityCommand.CommandText property. Diese Entity SQLEntity SQL Abfrage fordert Produkte nach dem Listenpreis aus dem konzeptionellen Modell an.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 die Mittel der Kommunikation zwischen dem System.Data.EntityClient und dem zugrunde liegenden .NET Framework-Datenanbieter, System.Data.SqlClientwie z. b.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.

Informationen zum Aktualisieren von Daten, die über ein konzeptionelles Modell verfügbar gemacht werden, finden Sie unter Gewusst wie: Verwalten von Transaktionen in derEntity Framework.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-Verbindungs ZeichenfolgeHow 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 eine Liste von untergeordneten SammlungenHow 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 "EntityCommand"How 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