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 associationsuppsättning.

En associationsdefinition innehåller följande information:

  • Ett unikt namn. (Krävs)

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

    Kommentar

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

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

Varje associationsslut måste ange en associationsluts multiplicitet som anger antalet instanser av entitetstyp som kan finnas i ena änden av associationen. En association slut multiplicity 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 sekundärnycklar om de exponeras för 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 . Multiplicityen Publisher av avsluta är en (1) och multiplicityen Book av avsluta är många (*), som indikerar att en utgivare publicerar många bokar, och en boka publiceras av en utgivare.

Example model with three entity types

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