Share via


tulajdonság

A tulajdonságok az entitástípusok és az összetett típusok alapvető építőelemei. A tulajdonságok határozzák meg az entitástípus-példányok vagy összetett típusú példányok által tartalmazott adatok alakját és jellemzőit. A fogalmi modell tulajdonságai az osztályban definiált tulajdonságokhoz hasonlóak. Ugyanúgy, ahogyan az osztály tulajdonságai meghatározzák az osztály alakját, és az objektumokra vonatkozó információkat hordoznak, a fogalmi modell tulajdonságai meghatározzák az entitástípus alakját, és az entitástípus-példányokra vonatkozó információkat hordoznak.

Feljegyzés

A jelen témakörben ismertetett tulajdonságok eltérnek a navigációs tulajdonságoktól. További információkért tekintse meg a navigációs tulajdonságokat.

A tulajdonságdefiníció a következő információkat tartalmazza:

  • Tulajdonságnév. (Kötelező)

  • Tulajdonságtípus. (Kötelező)

  • Egy sor aspektus. (Nem kötelező)

A tulajdonság tartalmazhat primitív adatokat (például sztringet, egész számot vagy logikai értéket) vagy strukturált adatokat (például összetett típust). A primitív típusú tulajdonságokat skaláris tulajdonságoknak is nevezik. További információ: Entity Data Model: Primitív adattípusok.

Feljegyzés

Egy összetett típusnak is lehetnek összetett tulajdonságokkal rendelkező tulajdonságai.

Példa

Az alábbi ábrán egy három entitástípussal rendelkező fogalmi modell látható: Book, Publisherés Author. Minden entitástípus több tulajdonsággal rendelkezik, bár az egyes tulajdonságok típusadatai nem jelennek meg a diagramban. Az entitáskulcsokat tartalmazó tulajdonságok a (Kulcs) jelöléssel vannak jelölve.

Example model with three entity types

A ADO.NET Entity Framework egy tartományspecifikus nyelvet (DSL) használ, amelyet fogalmi sémadefiníciós nyelvnek (CSDL) hívunk a fogalmi modellek meghatározásához. A következő CSDL határozza meg az Book entitás típusát (a fenti ábrán látható módon), és XML-attribútumok használatával jelzi az egyes tulajdonságok típusát és nevét. Az opcionális szempontot Nullableegy XML-attribútummal is definiáljuk.

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

Lehetséges, hogy a diagramon látható tulajdonságok egyike egy összetett típusú tulajdonság. Az entitástípus tulajdonsága lehet például Address egy összetett típusú tulajdonság, amely több skaláris tulajdonságból áll, például StreetAddress: , City, StateOrProvinceCountryés PostalCode.Publisher Egy ilyen összetett típus CSDL-ábrázolása a következő lenne:

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

Lásd még