Dela via


sekundärnyckelegenskap

En sekundärnyckelegenskap i entitetsdatamodellen (EDM) är en primitiv typegenskap (eller en uppsättning primitiva typegenskaper) för en entitetstyp som innehåller entitetsnyckeln för en annan entitetstyp.

En sekundärnyckelegenskap motsvarar en sekundärnyckelkolumn i en relationsdatabas. På samma sätt som sekundärnyckelkolumner används i en relationsdatabas för att skapa relationer mellan rader i tabeller används sekundärnyckelegenskaper i en konceptmodell för att upprätta associationer mellan entitetstyper. En begränsning för referensintegritet används för att definiera en association mellan två entitetstyper när en av typerna har en sekundärnyckelegenskap.

Exempel

Diagrammet nedan visar en konceptmodell med tre entitetstyper: Book, Publisheroch Author. Entitetstypen Book har en egenskap, PublisherId, som refererar till entitetsnyckeln för Publisher entitetstypen när du definierar en referensintegritetsbegränsning för associationen PublishedBy .

RefConstraintModel

ADO.NET Entity Framework använder ett domänspecifikt språk (DSL) som kallas CSDL (Conceptual Schema Definition Language) för att definiera konceptuella modeller. Följande CSDL använder egenskapen PublisherId sekundärnyckel för att definiera en referensintegritetsbegränsning för associationen PublishedBy som visas i den konceptuella modell som visas ovan.

<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>

Se även