Share via


Entity Framework-Zuordnungsszenarien

Das Entity Framework unterstützt verschiedene Möglichkeiten, konzeptionelle Modelle relationalen Daten zuzuordnen. Weitere Informationen finden Sie unter Modellieren und Zuordnen (Entity Framework).

Die folgenden Zuordnungsszenarien werden derzeit vom Entity Framework unterstützt.

Mappingszenario Beschreibung

Einfaches Mapping

In diesem Mappingszenario wird jede Entität im konzeptionellen Modell einer einzelnen Tabelle im Speichermodell zugeordnet. Dies ist das von den Entity Data Model-Tools generierte Standardmapping. Weitere Informationen finden Sie unter Schnellstart (Entity Framework).

Entitätsaufteilung

In diesem Mappingszenario werden Eigenschaften einer einzelnen Entität im konzeptionellen Modell Spalten in zwei oder mehr zugrunde liegenden Tabellen zugeordnet. In diesem Szenario müssen die Tabellen einen gemeinsamen Primärschlüssel verwenden. Weitere Informationen finden Sie unter Walkthrough: Mapping and Entity to Multiple Tables und Gewusst wie: Definieren eines Modells mit einer einzelnen Entität, der zwei Tabellen zugeordnet werden.

Horizontale Partitionierung im konzeptionellen Modell

In diesem Zuordnungsszenario werden mehrere Entitätstypen im konzeptionellen Modell, die über dieselben Eigenschaften verfügen, einer einzelnen Tabelle zugeordnet. Mit einer Bedingungsklausel wird angegeben, welche Daten in der Tabelle zu welchem Entitätstyp gehören. Diese Zuordnung ähnelt der "Tabelle pro Hierarchie"-Vererbungszuordnung. Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Modells mit 'Tabelle pro Hierarchie'-Vererbung.

'Tabelle pro Hierarchie'-Vererbung

In diesem Zuordnungsszenario werden alle Typen in einer Vererbungshierarchie einer einzelnen Tabelle zugeordnet. Die Entitätstypen werden mithilfe einer Bedingungsklausel definiert. Weitere Informationen finden Sie unter Walkthrough: Mapping Inheritance - Table-per-Hierarchy und Gewusst wie: Definieren eines Modells mit 'Tabelle pro Hierarchie'-Vererbung (Entity Framework).

'Tabelle pro Typ'-Vererbung

In diesem Zuordnungsszenario werden alle Typen einzelnen Tabellen zugeordnet. Eigenschaften, die nur zu einem Basistyp oder einem abgeleiteten Typ gehören, werden in einer Tabelle gespeichert, die diesem Typ zugeordnet ist. Weitere Informationen finden Sie unter Walkthrough: Mapping Inheritance - Table-per-Type und Gewusst wie: Definieren eines Modells mit einer 'Tabelle pro Typ'-Vererbung (Entity Framework).

'Tabelle pro konkretem Typ'-Vererbung

In diesem Zuordnungsszenario werden nicht abstrakte Typen jeweils einer einzelnen Tabelle zugeordnet. Jede dieser Tabellen muss über Spalten verfügen, die allen Eigenschaften des abgeleiteten Typs, einschließlich der vom Basistyp geerbten Eigenschaften, zugeordnet sind.

Mehrere Entitätenmengen pro Typ

In diesem Mappingszenario wird ein einzelner Entitätstyp in mindestens zwei separaten Entitätenmengen im konzeptionellen Modell ausgedrückt. Jede Entitätenmenge wird einer separaten Tabelle im Speichermodell zugeordnet. Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Modells mit mehreren Entitätenmengen pro Typ (Entity Framework).

Komplexe Typen

Ein komplexer Typ ist eine nicht skalare Eigenschaft eines Entitätstyps, der nicht über eine Schlüsseleigenschaft verfügt. Ein komplexer Typ kann andere geschachtelte komplexe Typen enthalten. Komplexe Typen werden Tabellen im Speichermodell zugeordnet. Weitere Informationen finden Sie unter How to: Create and Modify Complex Types.

Funktionsimportmapping

In diesem Szenario wird eine gespeicherte Prozedur im Speichermodell einem FunctionImport-Element im konzeptionellen Modell zugeordnet. Bei ihrer Ausführung gibt die Funktion unter Verwendung der zugeordneten gespeicherten Prozedur Entitätsdaten zurück. Weitere Informationen finden Sie unter How to: Import a Stored Procedure und Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework).

Änderungsfunktionsmapping

In diesem Szenario werden gespeicherte Prozeduren im Speichermodell definiert, die Daten einfügen, aktualisieren und löschen. Diese Funktionen werden für einen Entitätstyp definiert und stellen die Aktualisierungsfunktionalität für einen bestimmten Entitätstyp bereit. Weitere Informationen finden Sie unter Walkthrough: Mapping and Entity to Stored Procedures und Gewusst wie: Definieren eines Modells mit gespeicherten Prozeduren für Änderungen (Entity Framework).

Definieren des Abfragemappings

In diesem Szenario wird eine Abfrage im Speichermodell definiert, die eine Tabelle in der Datenquelle darstellt. Die Abfrage wird in der systemeigenen Abfragesprache der Datenquelle ausgedrückt, beispielsweise in Transact-SQL beim Zuordnen zu einer SQL Server-Datenbank. Dieses DefiningQuery-Element wird einem Entitätstyp im konzeptionellen Modell zugeordnet. Die Abfrage wird in der speicherspezifischen Abfragesprache definiert. Weitere Informationen finden Sie unter How to: Add a Defining Query. Bei der Verwendung einer definierenden Abfrage können Aktualisierungen nicht mit dem standardmäßigen Aktualisierungsprozess in der Datenquelle gespeichert werden. Aktualisierungen können durch die Definition von Änderungsfunktionsmappings vorgenommen werden.

Abfrageansichtsmapping

In diesem Szenario wird eine schreibgeschützte Zuordnung zwischen Entitätstypen im konzeptionellen Modell und relationalen Tabellen im Speichermodell definiert. Dieses Mapping wird auf Grundlage einer Entity SQL-Abfrage des Speichermodells definiert, die Entitäten im konzeptionellen Modell zurückgibt. Weitere Informationen finden Sie unter QueryView-Element (MSL). Bei der Verwendung einer Abfrageansicht können Aktualisierungen nicht mit dem standardmäßigen Aktualisierungsprozess in der Datenquelle gespeichert werden. Aktualisierungen können durch die Definition von Änderungsfunktionsmappings vorgenommen werden.

AssociationSet-Mapping

Zuordnungen definieren Beziehungen zwischen Entitäten. In einem einfachen Mapping mit einer 1:1- oder 1:n-Zuordnung, werden Zuordnungen, die Beziehungen im konzeptionellen Modell definieren, Zuordnungen im Speichermodell zugeordnet. Die folgenden erweiterten Zuordnungssatzmappings werden ebenfalls unterstützt:

  • m:n-Zuordnungen. Beide Enden der Zuordnung werden einer Verknüpfungstabelle im Speichermodell zugeordnet.

  • Selbstzuordnung. Diese unterstützt eine Zuordnung zwischen zwei Entitäten desselben Typs, wie beispielsweise einer Entität vom Typ "Employee" und einer weiteren Entität von Typ "Employee".

Weitere Informationen finden Sie unter Association-Element (CSDL).

Informationen über die Zuordnungsszenarien, die von den Entity Data Model-Tools unterstützt werden, finden Sie unter ADO.NET Entity Data Model Designer.

Siehe auch

Aufgaben

Gewusst wie: Manuelles Definieren der Modell- und Zuordnungsdateien (Entity Framework)

Konzepte

Entity Framework-Ressourcen
Arbeiten mit Objekten (Entity Framework)

Weitere Ressourcen

Definieren von erweiterten Datenmodellen (Entity Framework-Aufgaben)
ADO.NET Entity Data Model Designer
Definieren von erweiterten Datenmodellen (Entity Framework-Aufgaben)
Beispiele (Entity Framework)