Dela via


entitetstyp

Entitetstypen är det grundläggande byggblocket för att beskriva strukturen för data med entitetsdatamodellen (EDM). I en konceptuell modell representerar en entitetstyp strukturen för toppnivåbegrepp, till exempel kunder eller beställningar. En entitetstyp är en mall för entitetstypsinstanser. Varje mall innehåller följande information:

  • Ett unikt namn. (Krävs.)

  • En entitetsnyckel som definieras av en eller flera egenskaper. (Krävs.)

  • Data i form av egenskaper. (Valfritt.)

  • Navigeringsegenskaper som tillåter navigering från ena änden av en association till den andra änden. (Valfritt)

I ett program representerar en instans av en entitetstyp ett specifikt objekt (till exempel en specifik kund eller order). Varje instans av en entitetstyp måste ha en unik entitetsnyckel i en entitetsuppsättning.

Två instanser av entitetstyp anses vara lika endast om de är av samma typ och värdena för deras entitetsnycklar är desamma.

Exempel

Diagrammet nedan visar en konceptmodell med tre entitetstyper: Book, Publisheroch Author:

Example model with three entity types

Observera att egenskaperna för varje entitetstyp som utgör dess entitetsnyckel anges med "(Key)".

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 entitetstypen Book som visas i diagrammet ovan:

<EntityType Name="Book">
  <Key>
    <PropertyRef Name="ISBN" />
  </Key>
  <Property Type="String" Name="ISBN" Nullable="false" />
  <Property Type="String" Name="Title" Nullable="false" />
  <Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
  <NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
                      FromRole="Book" ToRole="Publisher" />
  <NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
                      FromRole="Book" ToRole="Author" />
</EntityType>

Se även