Entity Data ModelEntity Data Model

Das Entity Data Model (EDM) ist eine Reihe von Konzepten, die die Datenstruktur unabhängig von der gespeicherten Form beschreiben.The Entity Data Model (EDM) is a set of concepts that describe the structure of data, regardless of its stored form. 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.The EDM borrows from the Entity-Relationship Model described by Peter Chen in 1976, but it also builds on the Entity-Relationship Model and extends its traditional uses.

Das EDM löst die Herausforderungen, die sich aus dem Speichern von Daten in vielen Formen ergeben.The EDM addresses the challenges that arise from having data stored in many forms. Denken Sie z. B. an ein Unternehmen, das Daten in relationalen Datenbanken, Textdateien, XML-Dateien, Arbeitsblättern und Berichten speichert.For example, consider a business that stores data in relational databases, text files, XML files, spreadsheets, and reports. Dies stellt bedeutende Herausforderungen an Datenmodellierung, Anwendungsentwurf und Datenzugriff dar.This presents significant challenges in data modeling, application design, and data access. Beim Entwerfen einer datenorientierten Anwendung besteht die Herausforderung darin, effizienten und verwaltbaren Code zu schreiben, ohne auf effizienten Datenzugriff, Speicherung und Skalierbarkeit zu verzichten.When designing a data-oriented application, the challenge is to write efficient and maintainable code without sacrificing efficient data access, storage, and scalability. Wenn Daten eine relationale Struktur haben, sind Datenzugriff, Speicherung und Skalierbarkeit sehr effizient, allerdings wird das Schreiben von effizientem und verwaltbarem Code schwieriger.When data has a relational structure, data access, storage, and scalability are very efficient, but writing efficient and maintainable code becomes more difficult. 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.When data has an object structure, the trade-offs are reversed: Writing efficient and maintainable code comes at the cost of efficient data access, storage, and scalability. Selbst wenn die richtige Balance zwischen diesen Kompromissen gefunden wird, entstehen neue Herausforderungen, wenn Daten zwischen Formen verschoben werden.Even if the right balance between these trade-offs can be found, new challenges arise when data is moved from one form to another. 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.The Entity Data Model addresses these challenges by describing the structure of data in terms of entities and relationships that are independent of any storage schema. Dadurch wird die gespeicherte Datenform unabhängig von Anwendungsentwurf und Entwicklung.This makes the stored form of data irrelevant to application design and development. 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.And, because entities and relationships describe the structure of data as it is used in an application (not its stored form), they can evolve as an application evolves.

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.A conceptual model is a specific representation of the structure of data as entities and relationships, and is generally defined in a domain-specific language (DSL) that implements the concepts of the EDM. Konzeptionelle Schemadefinitionssprache (CSDL) ist ein Beispiel einer solchen domänenspezifischen Sprache.Conceptual schema definition language (CSDL) is an example of such a domain-specific language. In einem konzeptionellen Modell beschriebene Entitäten und Beziehungen können als Abstraktionen von Objekten und Zuordnungen in einer Anwendung betrachtet werden.Entities and relationships described in a conceptual model can be thought of as abstractions of objects and associations in an application. Dadurch können sich Entwickler ohne Beachtung des Speicherschemas auf das konzeptionelle Modell konzentrieren und Code mit dem Schwerpunkt auf Effizienz und Verwaltbarkeit schreiben.This allows developers to focus on the conceptual model without concern for the storage schema, and allows them to write code with efficiency and maintainability in mind. In der Zwischenzeit können sich Speicherschema-Designer auf die Effizienz von Datenzugriff, Speicherung und Skalierbarkeit konzentrieren.Meanwhile storage schema designers can focus on the efficiency of data access, storage, and scalability.

In diesem AbschnittIn This Section

In den Themen dieses Abschnitts werden die Konzepte des Entity Data Model erläutert.Topics in this section describe the concepts of the Entity Data Model. Jede DSL, die das EDM implementiert, sollte die hier beschriebenen Konzepte enthalten.Any DSL that implements the EDM should include the concepts described here. Beachten Sie, dass die ADO.NET Entity Framework CSDL wird verwendet, um konzeptionelle Modelle zu definieren.Note that the ADO.NET Entity Framework uses CSDL to define conceptual models. Weitere Informationen finden Sie unter CSDL-Spezifikation.For more information, see CSDL Specification.

Schlüsselkonzepte im Entity Data ModelEntity Data Model Key Concepts

Entity Data Model: NamespacesEntity Data Model: Namespaces

Entity Data Model: Primitive DatentypenEntity Data Model: Primitive Data Types

Entity Data Model: VererbungEntity Data Model: Inheritance

Zuordnungsendeassociation end

Multiplizität des Zuordnungsendesassociation end multiplicity

Zuordnungssatzassociation set

Ende des Zuordnungssatzesassociation set end

Zuordnungstypassociation type

Komplexer Typcomplex type

Entitätscontainerentity container

Entitätsschlüsselentity key

Entitätenmengeentity set

Entitätstypentity type

facetfacet

Fremdschlüsseleigenschaftforeign key property

Im Modell deklarierte Funktionmodel-declared function

Im Modell definierte Funktionmodel-defined function

Navigationseigenschaftnavigation property

Eigenschaftproperty

Einschränkung der referenziellen Integritätreferential integrity constraint

Siehe auchSee Also

ADO.NET Entity Data Model Tools (ADO.NET Entity Data Model-Tools)ADO.NET Entity Data Model Tools
Übersicht über die EDMX-Datei.edmx File Overview
CSDL-SpezifikationCSDL Specification