Entity Framework-Features

Für eine Entity Framework-Anwendung müssen ein konzeptionelles Modell, das die Entitäten und Beziehungen definiert, ein logisches Modell, das dem zugrunde liegenden relationalen Modell entspricht, sowie die Mappings zwischen diesen beiden Modellen erstellt werden. Anschließend wird aus dem konzeptionellen Modell ein programmierbares Objektmodell erstellt.

Die folgenden Features und Komponenten von Entity Framework bilden gemeinsam eine End-to-End-Programmierumgebung.

  • Das Entitätsdatenmodell (EDM) ist das Kernstück von Entity Framework. Hier wird das Entwurfsschema angegeben, das zum Erstellen der vom Anwendungscode verwendeten programmierbaren Klassen verwendet wird. Speicherstrukturen für das Beibehalten von Daten werden in einem Speicherschema dargestellt. Das Entwurfsschema wird über eine Mappingspezifikation mit dem Speicherschema verbunden. Konzeptionelle Entitäten können als Objekte materialisiert oder mit einem Datenleser in serialisierter Form gelesen werden. Entwickler können diese Objekte bei Bedarf zur Unterstützung verschiedener Anwendungsanforderungen erweitern. Weitere Informationen finden Sie unter Entity Data Model.

  • Die Object Services-Komponente ermöglicht es Programmierern, mit den im konzeptionellen Modell erstellten CLR (Common Language Runtime)-Klassen zu arbeiten. Sie bietet darüber hinaus Infrastrukturunterstützung für Entity Framework, indem sie verschiedene Dienste, wie Zustandsverwaltung, Änderungsnachverfolgung, Identitätsauflösung, Laden von und Navigieren in Beziehungen, Weitergeben von Objektänderungen an Datenbankmodifikationen und Abfrageunterstützung für Entity SQL bereitstellen. Weitere Informationen finden Sie unter Object Services (Entity Framework).

  • LINQ-to-Entities bietet LINQ (Language-Integrated Query)-Unterstützung zum Abfragen von Entitäten. LINQ-to-Entities ermöglicht Entwicklern, Datenbankabfragen mit einer der unterstützten .NET Framework-Programmiersprachen (z. B. Visual Basic oder Visual C# ) zu schreiben. Weitere Informationen finden Sie unter LINQ to Entities.

  • Entity SQL ist eine SQL-ähnliche, speicherunabhängige Sprache, die für das Abfragen und Bearbeiten umfangreicher Objektdiagramme von auf dem Entity Data Model (EDM) beruhenden Objekten bestimmt ist. Weitere Informationen finden Sie unter Entity SQL-Sprache.

  • Der EntityClient-Anbieter erweitert das ADO.NET-Anbietermodell, indem auf Daten im Sinne von konzeptionellen Entitäten und Beziehungen zugegriffen wird. Es werden Abfragen ausgeführt, die Entity SQL verwenden. Entity SQL bietet die zugrunde liegende Abfragesprache, mithilfe derer der EntityClient mit der Datenbank kommunizieren kann. Weitere Informationen finden Sie unter EntityClient-Anbieter für das Entity Framework.

  • Die Metadatenkomponente von ADO.NET verwaltet Metadaten für die Entwurfszeit- und Laufzeitanforderungen von Entity Framework. Alle Metadaten, die Modellen und Mappings zugeordnet sind, werden über Metadatenschnittstellen bereitgestellt, die nicht von den Mechanismen der Metadatenspeicherung abhängig sind. Für den aktuellen Speichermechanismus werden Dateien verwendet, die auf drei XML-Dialekten beruhen: CSDL (konzeptionelle Schemadefinitionssprache), SSDL (Datenspeicherschema-Definitionssprache) und MSL (Mapping-Spezifikationssprache). Weitere Informationen finden Sie unter ADO.NET-Metadaten.

  • Zu Entity Framework gehört ein ständig wachsender Satz von Tools, mit dem Mappings und partielle Klassen erstellt werden können, die die Entitäten im konzeptionellen Modell darstellen. Weitere Informationen finden Sie unter Entity Data Model-Tools.

  • Entity Framework enthält einen aktualisierten SqlClient-Datenanbieter, der kanonische Befehlsstrukturen unterstützt. Weitere Informationen finden Sie unter .NET Framework-Datenanbieter für SQL Server (SqlClient) für das Entity Framework.

Architekturdiagramm

Das folgende Diagramm zeigt, wie die verschiedenen Programmierungsschnittstellen mit Benutzerzugriff in Entity Framework zusammenhängen. Ein nach unten zeigender Pfeil weist auf eine Abfrage der Datenquelle hin, ein nach oben zeigender Pfeil auf zurückgegebene Daten. In Object Services wird eine kanonische Befehlsstruktur erstellt, die einen LINQ to Entities- oder Entity SQL-Vorgang im konzeptionellen Modell darstellt. Über den EntityClient-Anbieter wird diese kanonische Befehlsstruktur beruhend auf dem EDM in eine neue kanonische Befehlsstruktur umgewandelt, die einen entsprechenden Vorgang in der Datenquelle darstellt.

Diagramm zur Entity Framework-Architektur

Siehe auch

Konzepte

Entity Framework-Terminologie
Einführung in Entity Framework

Weitere Ressourcen

Featurereferenz (Entity Framework)
Erste Schritte (Entity Framework)