Dela via


associationstyp

En associationstyp (kallas även en association) är den grundläggande byggstenen för att beskriva relationer i entitetsdatamodellen (EDM). I en konceptmodell representerar en association en relation mellan två entitetstyper (till exempel Customer och Order). I ett program representerar en instans av en association en specifik association (till exempel en association mellan en instans av Customer och en instans av Order). Associationinstanser grupperas logiskt i en associationsamling.

En associationsdefinition innehåller följande information:

  • Ett unikt namn. (Obligatoriskt)

  • Två associationer slutar, en för varje entitetstyp i relationen. (Obligatoriskt)

    Anmärkning

    En association kan inte representera en relation mellan fler än två entitetstyper. En association kan dock definiera en självrelation genom att ange samma entitetstyp för var och en av dess associationens ändar.

  • En begränsning för referensintegritet. (Valfritt)

Varje associationsslut måste ange en associationsluts multiplicitet som anger antalet instanser av en entitetstyp som kan finnas vid ena änden av associationen. En associationslut multiplicitet kan ha ett värde på en (1), noll eller en (0..1), eller många (*). Entitetstypinstanser i ena änden av en association kan nås via navigeringsegenskaper eller främmande nycklar om de exponeras i en entitetstyp. Mer information finns i Entitetsdatamodell: Sekundärnycklar.

Exempel

Diagrammet nedan visar en konceptmodell med två associationer: PublishedBy och WrittenBy. Associationens slut för associationen PublishedBy är entitetstyperna Book och Publisher . Multipliciteten av Publisher-änden är en (1) och multipliciteten av Book-änden är många (*), vilket indikerar att en utgivare publicerar många böcker och att en bok publiceras av en utgivare.

Exempelmodell med tre entitetstyper

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 definierar associationen PublishedBy som visas i diagrammet ovan:

<Association Name="PublishedBy">
      <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
      <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
    </Association>

Se även