Übersicht über Object Services (Entity Framework)

Object Services ist eine Komponente von Entity Framework, mit der Sie Daten in Form von stark typisierten CLR-Objekten, die Instanzen von Entitätstypen sind, abfragen, einfügen, aktualisieren und löschen können.Object Services unterstützt für Typen, die im konzeptionellen Modell definiert sind, sowohl Language Integrated Query (LINQ)- als auch Entity SQL-Abfragen.Object Services erstellt aus zurückgegebenen Daten Objekte und gibt Objektänderungen an die Datenquelle weiter.Außerdem stellt es Funktionen zum Nachverfolgen von Änderungen, zum Binden von Objekten an Steuerelemente und zum Behandeln von Parallelität bereit. Object Services ist in Klassen im System.Data.Objects-Namespace und im System.Data.Objects.DataClasses-Namespace implementiert.

Objektkontext

Die ObjectContext-Klasse ist die primäre Klasse für die Interaktion mit Daten in Form von Objekten, die Instanzen von in einem konzeptionellen Modell definierten Entitätstypen sind.Eine Instanz der ObjectContext-Klasse dient zum Kapseln folgender Objekte:

  • Eine Verbindung zur Datenbank in Form eines EntityConnection-Objekts.

  • Metadaten zur Beschreibung des Modells in Form eines MetadataWorkspace-Objekts.

  • Ein ObjectStateManager-Objekt, das Objekte während der Erstellung, Aktualisierung und Löschung von Vorgängen verfolgt.

Die Entity Framework-Tools verarbeiten eine Datei in einer CSDL-Datei (konzeptionelle Schemadefinitionssprache) und Generieren den Code der Objektebene.Durch diesen Code können Sie in Form von Objekten mit Entitätsdaten arbeiten und von den Vorteilen der Object Services-Funktionen profitieren.Dieser generierte Code enthält die folgenden Datenklassen:

  • Eine typisierte ObjectContext-Klasse.Diese Klasse stellt den EntityContainer für das Modell dar und wird vom ObjectContext abgeleitet.

  • Klassen, die Entitätstypen darstellen und von EntityObject erben.

  • Klassen, die komplexe Typen darstellen und von ComplexObject erben.

Hinweis

Die ObjectContext-Klasse ist nicht threadsicher.Die Integrität von Datenobjekten in einem ObjectContext kann nicht in Multithreadszenarien sichergestellt werden.

Verwenden von Object Services

Object Services unterstützt beim Programmieren mit Entity Framework folgendes Verhalten.

Abfragen von Daten als Objekte

Mit Object Services können Sie LINQ-, Entity SQL- oder Abfrage-Generator-Methoden verwenden, um Abfragen für ein konzeptionelles Modell auszuführen und Daten als Objekte zurückzugeben.Weitere Informationen finden Sie unter Objektabfragen (Entity Framework).

Strukturieren von Abfrageergebnissen

Standardmäßig werden von Object Services nur Objekte zurückgegeben, die in der Abfrage ausdrücklich angefordert wurden.Wenn es zwischen Objekten Beziehungen gibt, können Sie angeben, ob eine Abfrage zugehörige Objekte zurückgibt.Sie können zugehörige Objekte auch in einer späteren Anforderung laden.Weitere Informationen finden Sie unter Strukturieren von Abfrageergebnissen (Entity Framework).

Erstellen von Abfragen mit Generator-Methoden

Object Services stellt Methoden für ObjectQuery zur Verfügung, mit denen Abfragen erstellt werden, die äquivalent mit Entity SQL-Abfragen und LINQ to Entities-Abfragen sind.Weitere Informationen finden Sie unter Abfrage-Generator-Methoden (Entity Framework).

Hinzufügen, Ändern und Löschen von Objekten

Object Services speichert Datenobjekte dauerhaft im Speicher und ermöglicht, Objekte innerhalb eines Objektkontexts hinzuzufügen, zu ändern und zu löschen.Alle an Objekten vorgenommenen Änderungen werden vom Objektkontext nachverfolgt.Weitere Informationen finden Sie unter Erstellen, Hinzufügen, Ändern und Löschen von Objekten (Entity Framework).

Speichern von Änderungen in der Datenbank

Object Services speichert Änderungen an Objekten vorübergehend im Objektkontext.Auf explizite Anforderung werden diese Änderungen von Object Services in der Datenquelle gespeichert.Weitere Informationen finden Sie unter Speichern von Änderungen und Verwalten von Parallelität (Entity Framework).

Binden von Objekten an Steuerelemente

Mit Objects Services können Sie Objekte an Steuerelemente binden, die Datenbindung unterstützen, z. B. an das DataGridView-Steuerelement.Weitere Informationen finden Sie unter Binden von Objekten an Steuerelemente (Entity Framework).

Anfügen von Objekten

Mit Object Services können Sie vorhandene Objekte direkt an einen Objektkontext anfügen.Dadurch können Sie Objekte anfügen, die im Anzeigestatus einer ASP.NET-Anwendung gespeichert oder von einem Remotemethodenaufruf oder Webdienst zurückgegeben wurden.Weitere Informationen finden Sie unter Anfügen und Trennen von Objekten (Entity Framework).

Trennen von Objekten

Mitunter kann es erforderlich sein, eine Objektkontextinstanz für die Dauer der Anwendungsausführung dauerhaft zu speichern, z. B., wenn Objekte an Windows Forms-Steuerelemente gebunden werden.Mit Object Services können Sie die Größe des Objektkontexts verwalten, indem Sie Objekte trennen, wenn sie nicht mehr benötigt werden, um Ressourcen freizugeben.Weitere Informationen finden Sie unter Anfügen und Trennen von Objekten (Entity Framework).

Serialisieren von Objekten

Object Services unterstützt Windows Communication Foundation (WCF)-Datenvertragserialisierung, binäre Serialisierung und XML-Serialisierung für Objekte.Die Datenvertragsserialisierung ist in Webdienstszenarien hilfreich.Die binäre Serialisierung ist besonders in einer ASP.NET-Anwendung beim dauerhaften Speichern von Objekten mithilfe eines Ansichtszustands nützlich.Weitere Informationen finden Sie unter Serialisieren von Objekten (Entity Framework).

Verwalten von Objektidentitäten und Nachverfolgen von Änderungen

Object Services verwendet Identitätswerte, um Änderungen an Objekten nachzuverfolgen, Konflikte zu behandeln und zu entscheiden, wann Daten aus der Datenquelle abgerufen werden.Weitere Informationen finden Sie unter Identitätsauflösung, Zustandsverwaltung und Änderungsnachverfolgung (Entity Framework).

Verwalten von Parallelität

Object Services kann Parallelität nachverfolgen, sofern bei mindestens einer Eigenschaft das ConcurrencyMode-Attribut auf "fixed" festgelegt wird. In diesem Fall werden von Object Services beim Auftreten von Parallelitätsverletzungen bestimmte Ausnahmen ausgelöst.Weitere Informationen finden Sie unter Speichern von Änderungen und Verwalten von Parallelität (Entity Framework).

Verwalten von Verbindungen

Mit Object Services können Sie die Verbindung, die von einem Objektkontext verwendet wird, explizit verwalten und für den Objektkontext eine eigene Verbindung bereitstellen.Weitere Informationen finden Sie unter Verwalten von Verbindungen und Transaktionen (Entity Framework).

Verwalten von Transaktionen

Object Services unterstützt .NET Framework-Transaktionen, um Operationen für die Datenquelle zu koordinieren und in verteilten Transaktionen Eintragungen vorzunehmen.Weitere Informationen finden Sie unter Verwalten von Verbindungen und Transaktionen (Entity Framework).

Verwenden von benutzerdefinierten Objekten in einem konzeptionellen Modell

Mit Object Services können Sie Objekte manuell definieren oder vorhandene Objekte in einem konzeptionellen Modell verwenden.Weitere Informationen finden Sie unter Anpassen von Objekten (Entity Framework).

Siehe auch

Konzepte

Übersicht über das Entity Framework

Weitere Ressourcen

Arbeiten mit Objekten (Entity Framework)