Ü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 sowohl Language-Integrated Query (LINQ)- als auch Entity SQL-Abfragen von in einem Entitätsdatenmodell (EDM) definierten Typen. Object Services materialisiert die zurückgegebenen Daten als 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 EDM 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 Erstellungs-, Aktualisierungs- und Löschvorgängen nachverfolgt.
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 ist von 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 in Multithreadszenarien nicht sichergestellt werden. |
Verwenden von Object Services
Object Services unterstützt beim Programmieren für Entity Framework das folgende 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 Entitätsdatenmodell auszuführen und Daten als Objekte zurückgeben. 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 verbundene 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. An Objekten vorgenommene Änderungen werden vom Objektkontext nachverfolgt. Weitere Informationen finden Sie unter Hinzufügen, Ändern und Löschen von Objekten (Entity Framework).
Speichern von Änderungen in der Datenquelle
Object Services speichert Änderungen an Objekten im Objektkontext zwischen. 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 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 Trennen von Objekten (Entity Framework).
Serialisieren von Objekten
Object Services unterstützt Datenvertragsserialisierung von Windows Communication Foundation (WCF), binäre Serialisierung und XML-Serialisierung für Objekte. Die Datenvertragsserialisierung ist in Webdienst-Szenarien nützlich. 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 sollen. Weitere Informationen finden Sie unter Verwalten des Objektkontexts (Entity Framework).
Verwalten von Parallelität
Object Services kann Parallelität nachverfolgen, wenn 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 in Object Services (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 Transaktionen in Object Services (Entity Framework).
Verwenden von benutzerdefinierten Objekten mit einem Entity Data Model
Mit Object Services können Sie manuell eigene Objekte definieren oder vorhandene Objekte mit einem Entitätsdatenmodell verwenden. Weitere Informationen finden Sie unter Anpassen von Objekten (Entity Framework).
Siehe auch
Weitere Ressourcen
Object Services (Entity Framework)
Entity Framework-Aufgaben