Freigeben über


Erstellen eines Entity Data Model

Entity Framework-Anwendungen und Dienste basieren auf dem Entitätsdatenmodell (EDM). Dieses Modell stellt Anwendungsdaten als eine Menge von Entitäten und Beziehungen dar, die einer definierten Datenquelle zugeordnet sind. Ein EDM besteht aus einem konzeptionellen Modell in Form von Entitäten und Beziehungen, einem Speichermodell, das das Schema des logischen Modells darstellt, sowie einem Mapping zwischen diesen beiden Modellen. Die Entwicklungsphase eines Projekts beginnt gewöhnlich mit dem konzeptionellen Modell. Danach wird das logische Modell vom konzeptionellen Model abgeleitet.

Um die Arbeit der Entwickler zu vereinfachen, die ein Entitätsdatenmodell von einer bestehenden Datenbank ableiten möchten, stellt das Entity Framework einen Satz von Tools bereit, die ein EDM generieren und validieren sowie auf dem konzeptionellen Modell basierende programmierbare Klassen erstellen. Das Befehlszeilendienstprogramm EDM-Generator (EdmGen.exe) ermöglicht die Erstellung eines einfachen Modells mit einem 1:1-Mapping zwischen Entitäten und Tabellen in einer Datenquelle. EdmGen.exe kann auch zur Erstellung der auf den Entitätstypen basierenden Datenklassen und zur Validierung eines EDM verwendet werden. EdmGen.exe ist Teil der Entity Framework-Laufzeitkomponenten in .NET Framework 3.5 Service Pack 1(SP1).

Visual Studio 2008 SP1 enthält eine integrierte Gruppe von Entitätsdatenmodell-Tools mit denen ein Modell generiert werden kann, das ausgewählte Objekte aus einer Datenquelle enthält. Danach kann das konzeptionelle Modell und das Mapping mithilfe von Entity Data Model-Designer geändert werden, um das von der Anwendung benötigte konzeptionelle Modell zu erstellen. Weitere Informationen finden Sie unter Entity Data Model-Tools.

Weitere Überlegungen

Folgende Aspekte sollten bei der Erstellung eines EDM beachtet werden:

  • Alle Entitäten müssen über Schlüssel verfügen. Wenn eine Tabelle ohne Primärschlüssel in der Datenbank vorhanden ist, versuchen die EDM-Tools einen Schlüssel für die zugehörige Entität herzuleiten. Außerdem generieren die EDM-Tools ein DefiningQuery-Element im Speicherschema, das die Daten dieser Entität vor Schreibzugriffen schützt. Um die Daten der Entität aktualisieren zu können, muss sichergestellt werden, dass der generierte Schlüssel gültig ist, und das DefiningQuery-Element muss entfernt werden.

  • Eine Tabelle, die eine m:n-Beziehung zwischen zwei Tabellen in der Datenbank darstellt, verfügt möglicherweise nicht über eine zugehörige Entität im konzeptionellen Schema. Wenn die EDM-Tools auf eine solche Tabelle treffen, die außer den beiden Fremdschlüsseln nicht über Spalten verfügt, wird die Mappingtabelle im konzeptionellen Schema als m:n-Zuordnung und nicht als Entität dargestellt. Die CourseInstructor-Zuordnung im Modell "School" ist ein Beispiel für dieses Verhalten. Weitere Informationen finden Sie unter Erstellen des Entity Data Models 'School' (Entity Framework-Schnellstart).

  • In dieser Version unterstützen die Entitätsdatenmodell-Tools nur die automatische Erstellung eines auf einer bestehenden Datenquelle beruhenden EDM. Es kann keine Datenquelle, wie eine relationale Datenbank, auf Grundlage des konzeptionellen Modells automatisch generiert werden.

Das Modell "School"

Die Themen in diesem Erste Schritte-Abschnitt beziehen sich auf die Beispieldatenbank School. Das Skript, das die Datenbank "School" in SQL Server generiert, finden Sie unter Erstellen der Beispieldatenbank 'School' (Entity Framework-Schnellstart).

"School" enthält die folgenden Tabellen:

  • Course

  • CourseGrade

  • CourseInstructor

  • Department

  • OfficeAssignment

  • OnlineCourse

  • OnsiteCourse

  • Person

Diese Beispieldatenbank hebt viele der komplexen Modellierungsszenarios hervor, die von den Entity Data Model-Tools unterstützt werden. Das Skript erstellt die Beziehungen zwischen den Tabellen und fügt Beispieldaten ein, damit die Beispiele ausgeführt werden können und deren Funktionsweise ersichtlich wird. Im Folgenden ist die im ADO.NET Entity Data Model-Designer angezeigte EDM "School" dargestellt:

EDM "School" im Entity Designer

Siehe auch

Konzepte

Mapping eines konzeptionellen Modells zu einem Speicherschema
Datenmodellierung im Entity Framework

Weitere Ressourcen

Konfigurieren des Entity Framework (Entity Framework-Aufgaben)
Erste Schritte (Entity Framework)
Entity Data Model-Tools
EDM-Spezifikationen
Schemas und Mappingspezifikation (Entity Framework)