idegenkulcs-tulajdonság
Az Entity Data Model (EDM) idegenkulcs-tulajdonsága egy primitív típusú tulajdonság (vagy primitív típusú tulajdonságok készlete) egy olyan entitástípuson, amely egy másik entitástípus entitáskulcsát tartalmazza.
Az idegen kulcstulajdonságok hasonlóak a relációs adatbázisban lévő idegenkulcs-oszlophoz. Ugyanúgy, ahogyan a relációs adatbázisban az idegen kulcsoszlopok a táblák sorai közötti kapcsolatok létrehozására szolgálnak, a fogalmi modellben lévő idegenkulcs-tulajdonságok az entitástípusok közötti társítások létrehozására szolgálnak. Hivatkozási integritási korlátozást használ a két entitástípus közötti társítás meghatározására, ha az egyik típus idegenkulcs-tulajdonságot használ.
Példa
Az alábbi ábrán egy három entitástípussal rendelkező fogalmi modell látható: Book
, Publisher
és Author
. Az Book
entitástípusnak van egy tulajdonsága, PublisherId
amely az entitástípus entitáskulcsára Publisher
hivatkozik, amikor hivatkozási integritási korlátozást határoz meg a PublishedBy
társításon.
A ADO.NET Entity Framework egy tartományspecifikus nyelvet (DSL) használ, amelyet fogalmi sémadefiníciós nyelvnek (CSDL) hívunk a fogalmi modellek meghatározásához. Az alábbi CSDL az idegenkulcs-tulajdonság PublisherId
használatával határoz meg hivatkozási integritási korlátozást a PublishedBy
fent látható fogalmi modellben látható társításra.
<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>