Freigeben über


Datenmodellierung im Entity Framework

Das Entitätsdatenmodell (EDM) ist ein Entitätsbeziehungsmodell. Mit dem EDM werden Daten in einem neutralen Format definiert, das nicht durch die Struktur von Programmiersprachen oder relationalen Datenbanken eingeschränkt ist. EDM-Schemas werden verwendet, um Details zu Entitäten und Beziehungen anzugeben und diese als Datenstrukturen zu implementieren.

Eine Entität ist etwas in der Anwendungsdomäne, das durch Daten dargestellt werden muss. Beispiele für Entitäten und Beziehungen sind in einer typischen Geschäftsbereichsanwendung zu finden. Entitäten in der Domäne einer Geschäftsbereichsanwendung können Kunden, Aufträge, Auftragspositionen, Lieferanten, Produkte, Verkaufsmitarbeiter, Spediteure, Rechnungen usw. umfassen. Ein EDM-EntityType ist die Spezifikation für einen Datentyp, der die Entität in der Anwendungsdomäne darstellt.

Eine Beziehung ist die logische Verbindung zwischen Entitäten, wie beispielsweise zwischen einem Warenauftrag und dem Kunden, der den Auftrag aufgibt. Da ein Kunde über viele zugeordnete Aufträge verfügen kann, ist die Beziehung zwischen dem Kunden und seinen Aufträgen eine 1:n-Beziehung. Zwischen Produkten und Lieferanten kann eine m:n-Beziehung bestehen.

Das Definieren von Entitäten und Beziehungen kann ein sehr komplexer Vorgang sein. Etwas so Grundlegendes wie ein Warenauftrag in einer Geschäftsbereichsanwendung erfordert eine nicht zu unterschätzende Menge an Details. Zum Beispiel kann ein Warenauftrag unterschiedliche Formen haben. So könnte der Auftrag im Laden, am Telefon, im Internet oder per Katalog aufgegeben werden. Im EDM sind die Details der einzelnen Auftragstypen konzeptionell in XML-Syntax angegeben. Die Eigenschaften jedes Auftragstyps und notwendige Einschränkungen werden an Anwendungen weitergegeben, die Daten mit dem konzeptionellen Schema verwenden.

Die Entitäten und ihre Beziehungen werden vom EDM mithilfe zweier grundlegender Typen modelliert.

  • EntityType: Die abstrakte Spezifikation für die Details einer Datenstruktur in der Anwendungsdomäne.

  • AssociationType: Die logische Verbindung zwischen Typen.

Ein EDM-Entwurfsschema definiert die Struktur, Semantik, Einschränkungen und Beziehungen von Entitäten in der Domäne einer Anwendung. In der EDM-Implementierung der Objektdienste ist das konzeptionelle Schema einem anderen EDM-Schema zugeordnet, das Metadaten enthält, die das Speichermodell beschreiben, normalerweise sind dies Tabellen in einer Datenbank. Mithilfe des konzeptionellen Schemas werden die Klassen eines programmierbaren Objektmodells generiert, das im Anwendungscode verwendet wird. Das konzeptionelle Schema und das Speicherschema werden außerdem von Entity Framework verwendet, um Anwendungsdaten zur Laufzeit zu validieren, abzufragen und zu aktualisieren.

Inhalt dieses Abschnitts

Siehe auch

Konzepte

Implementieren von Entitäten (EDM)
Implementieren von Zuordnungen (EDM)
Entity SQL-Sprache

Weitere Ressourcen

EDM-Spezifikationen
Beispielanwendungen (Entity Framework)