foreign key property
Vlastnost cizího klíče v modelu Entity Data Model (EDM) je vlastnost primitivního typu (nebo sada vlastností primitivního typu) u typu entity, která obsahuje klíč entity jiného typu entity.
Vlastnost cizího klíče je podobná sloupci cizího klíče v relační databázi. Stejně jako sloupce cizího klíče se používají v relační databázi k vytvoření relací mezi řádky v tabulkách, vlastnosti cizího klíče v koncepčním modelu slouží k vytvoření přidružení mezi typy entit. Omezení referenční integrity slouží k definování přidružení mezi dvěma typy entit, pokud jeden z typů má vlastnost cizího klíče.
Příklad
Následující diagram znázorňuje koncepční model se třemi typy entit: Book
, Publisher
a Author
. Typ Book
entity má vlastnost, PublisherId
která odkazuje na klíč Publisher
entity typu entity při definování omezení referenční integrity pro PublishedBy
přidružení.
ADO.NET Entity Framework používá jazyk specifický pro doménu (DSL) označovaný jako jazyk CSDL (Conceptual Schema Definition Language) k definování konceptuálních modelů. Následující CSDL používá vlastnost PublisherId
cizího klíče k definování omezení referenční integrity pro PublishedBy
přidružení znázorněné v konceptuálním modelu uvedeném výše.
<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>