Fremdschlüsseleigenschaft
Eine Fremdschlüsseleigenschaft im Entity Data Model (EDM) ist eine primitive Typ-Eigenschaft (oder ein Satz primitiver Typeigenschaften) für einen Entitätstyp, der den Entitätsschlüssel eines anderen Entitätstyps enthält.
Eine Fremdschlüsseleigenschaft entspricht einer Fremdschlüsselspalte in einer relationalen Datenbank. So wie Fremdschlüsselspalten in einer relationalen Datenbank zum Erstellen von Beziehungen zwischen Zeilen in Tabellen verwendet werden, werden mit Fremdschlüsseleigenschaften in einem konzeptionellen Modell Zuordnungen zwischen Entitätstypen festgelegt. Eine Einschränkung der referenziellen Integrität wird verwendet, um eine Zuordnung zwischen zwei Entitätstypen zu definieren, wenn einer der Typen über eine Fremdschlüsseleigenschaft verfügt.
Beispiel
Die unten stehende Abbildung zeigt ein konzeptionelles Modell mit drei Entitätstypen: Book
, Publisher
und Author
. Der Book
-Entitätstyp verfügt über die Eigenschaft PublisherId
, die auf den Entitätsschlüssel des Publisher
-Entitätstyps verweist, wenn Sie eine Einschränkung der referenziellen Integrität für die PublishedBy
-Zuordnung definieren.
Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung „konzeptionelle Schemadefinitionssprache“ (CSDL), um konzeptionelle Modelle zu definieren. Die folgende CSDL verwendet die Fremdschlüsseleigenschaft PublisherId
, um eine Einschränkung der referenziellen Integrität für die PublishedBy
-Zuordnung zu definieren, die im konzeptionellen Modell oben gezeigt wurde.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
</End>
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
<ReferentialConstraint>
<Principal Role="Publisher">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="Book">
<PropertyRef Name="PublisherId" />
</Dependent>
</ReferentialConstraint>
</Association>