Entity Data Model

Das Entity Data Model (EDM) ist eine Reihe von Konzepten, die die Datenstruktur unabhängig von der gespeicherten Form beschreiben. Das EDM ist aus dem 1976 von Peter Chen beschriebenen Entitätsbeziehungsmodell ausgeliehen, baut aber auch auf dem Entitätsbeziehungsmodell auf und erweitert seine herkömmliche Verwendung.

Das EDM löst die Herausforderungen, die sich aus dem Speichern von Daten in vielen Formen ergeben. Denken Sie z. B. an ein Unternehmen, das Daten in relationalen Datenbanken, Textdateien, XML-Dateien, Arbeitsblättern und Berichten speichert. Dies stellt bedeutende Herausforderungen an Datenmodellierung, Anwendungsentwurf und Datenzugriff dar. Beim Entwerfen einer datenorientierten Anwendung besteht die Herausforderung darin, effizienten und verwaltbaren Code zu schreiben, ohne auf effizienten Datenzugriff, Speicherung und Skalierbarkeit zu verzichten. Wenn Daten eine relationale Struktur haben, sind Datenzugriff, Speicherung und Skalierbarkeit sehr effizient, allerdings wird das Schreiben von effizientem und verwaltbarem Code schwieriger. Wenn Daten über eine Objektstruktur verfügen, kehren sich Vor- und Nachteile um: Das Schreiben von effizientem und verwaltbarem Code erfolgt zu Lasten von effizientem Datenzugriff, Speicherung und Skalierbarkeit. Selbst wenn die richtige Balance zwischen diesen Kompromissen gefunden wird, entstehen neue Herausforderungen, wenn Daten zwischen Formen verschoben werden. Das Entity Data Model löst diese Herausforderungen, indem die Datenstruktur in Bezug auf Entitäten und Beziehungen beschrieben wird, die unabhängig von einem Speicherschema sind. Dadurch wird die gespeicherte Datenform unabhängig von Anwendungsentwurf und Entwicklung. Und da Entitäten und Beziehungen die Datenstruktur beschreiben, wie sie in einer Anwendung (nicht der gespeicherten Form) verwendet wird, können sie mit der Anwendung weiterentwickelt werden.

Ein conceptual model ist eine bestimmte Darstellung der Datenstruktur als Entitäten und Beziehungen und wird im Allgemeinen in einer domänenspezifischen Sprache (DSL) definiert, die die Konzepte des EDM implementiert. Konzeptionelle Schemadefinitionssprache (CSDL) ist ein Beispiel einer solchen domänenspezifischen Sprache. In einem konzeptionellen Modell beschriebene Entitäten und Beziehungen können als Abstraktionen von Objekten und Zuordnungen in einer Anwendung betrachtet werden. Dadurch können sich Entwickler ohne Beachtung des Speicherschemas auf das konzeptionelle Modell konzentrieren und Code mit dem Schwerpunkt auf Effizienz und Verwaltbarkeit schreiben. In der Zwischenzeit können sich Speicherschema-Designer auf die Effizienz von Datenzugriff, Speicherung und Skalierbarkeit konzentrieren.

Inhalt dieses Abschnitts

In den Themen dieses Abschnitts werden die Konzepte des Entity Data Model erläutert. Jede DSL, die das EDM implementiert, sollte die hier beschriebenen Konzepte enthalten. Beachten Sie, dass das ADO.NET Entity Framework konzeptionelle Modelle mithilfe von CSDL definiert. Weitere Informationen finden Sie unter Conceptual Schema (CSDL).

Schlüsselkonzepte im Entity Data Model

Entity Data Model: Namespaces

Entity Data Model: Primitive Datentypen

Entity Data Model: Vererbung

Zuordnungsende

Multiplizität des Zuordnungsendes

Zuordnungssatz (Entity Data Model)

Zuordnungssatzende

Zuordnungstyp

Komplexer Typ

Entitätscontainer

Entitätsschlüssel

Entitätenmenge

Entitätstyp

Facet

Fremdschlüsseleigenschaft

Im Modell deklarierte Funktion

Modelldefinierte Funktion

Navigationseigenschaft

Eigenschaft

Einschränkung der referenziellen Integrität

Siehe auch

Weitere Ressourcen

ADO.NET Entity Data Model Tools
.edmx File Overview
CSDL Specification