vlastnost

Vlastnosti jsou základní stavební bloky typů entit a komplexních typů. Vlastnosti definují tvar a charakteristiky dat, které bude obsahovat instance typu entity nebo komplexní instance typu. Vlastnosti v konceptuálním modelu jsou podobné vlastnostem definovaným ve třídě. Stejně jako vlastnosti třídy definují tvar třídy a přenášejí informace o objektech, vlastnosti v konceptuálním modelu definují tvar typu entity a přenášejí informace o instancích typu entity.

Poznámka:

Vlastnosti, jak je popsáno v tomto tématu, se liší od vlastností navigace. Další informace naleznete v navigačních vlastnostech.

Definice vlastnosti obsahuje následující informace:

  • Název vlastnosti. (Povinné)

  • Typ vlastnosti. (Povinné)

  • Sada omezujících vlastností. (Nepovinné)

Vlastnost může obsahovat primitivní data (například řetězec, celé číslo nebo logickou hodnotu) nebo strukturovaná data (například komplexní typ). Vlastnosti, které jsou primitivního typu, se také nazývají skalární vlastnosti. Další informace naleznete v tématu Entity Data Model: Primitivní datové typy.

Poznámka:

Komplexní typ může mít sám o sobě vlastnosti, které jsou komplexní typy.

Příklad

Následující diagram znázorňuje koncepční model se třemi typy entit: Book, Publishera Author. Každý typ entity má několik vlastností, i když informace o typu pro každou vlastnost nejsou v diagramu předávány. Vlastnosti, které jsou klíči entity, jsou označené (klíč).

Example model with three entity types

ADO.NET Entity Framework používá jazyk specifický pro doménu (DSL) označovaný jako jazyk CSDL (Conceptual Schema Definition Language) k definování konceptuálních modelů. Následující CSDL definuje Book typ entity (jak je znázorněno v diagramu výše) a označuje typ a název každé vlastnosti pomocí atributů XML. Volitelná omezující vlastnost , Nullableje také definována pomocí atributu XML.

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

Je možné, že jednou z vlastností zobrazených v diagramu je komplexní vlastnost typu. Address Například vlastnost Publisher typu entity může být složitá vlastnost typu složená z několika skalárních vlastností, například StreetAddress, , City, StateOrProvince, Countrya PostalCode. Reprezentace csDL takového komplexního typu by byla následující:

<ComplexType Name="Address" >
  <Property Type="String" Name="StreetAddress" Nullable="false" />
  <Property Type="String" Name="City" Nullable="false" />
  <Property Type="String" Name="StateOrProvince" Nullable="false" />
  <Property Type="String" Name="Country" Nullable="false" />
  <Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>

Viz také