właściwość klucza obcego
Właściwość klucza obcego w modelu danych jednostki (EDM) jest właściwością typu pierwotnego (lub zestawem właściwości typu pierwotnego) dla typu jednostki zawierającego klucz jednostki innego typu.
Właściwość klucza obcego jest analogiczna do kolumny klucza obcego w relacyjnej bazie danych. W ten sam sposób, w jaki kolumny kluczy obcych są używane w relacyjnej bazie danych do tworzenia relacji między wierszami w tabelach, właściwości klucza obcego w modelu koncepcyjnym służą do ustanawiania skojarzeń między typami jednostek. Ograniczenie więzów integralności służy do definiowania skojarzenia między dwoma typami jednostek, gdy jeden z typów ma właściwość klucza obcego.
Przykład
Na poniższym diagramie przedstawiono model koncepcyjny z trzema typami jednostek: Book
, Publisher
i Author
. Typ Book
jednostki ma właściwość , PublisherId
która odwołuje się do klucza Publisher
jednostki typu jednostki podczas definiowania ograniczenia integralności referencyjnej w skojarzeniu PublishedBy
.
ADO.NET Entity Framework używa języka specyficznego dla domeny (DSL) nazywanego koncepcyjnym językiem definicji schematu (CSDL) do definiowania modeli koncepcyjnych. Poniższy plik CSDL używa właściwości PublisherId
klucza obcego do zdefiniowania ograniczenia integralności referencyjnej dla PublishedBy
skojarzenia pokazanego w modelu koncepcyjnym przedstawionym powyżej.
<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>