Aracılığıyla paylaş


özellik

Özellikler, varlık türlerinin ve karmaşık türlerin temel yapı taşlarıdır. Özellikler, bir varlık türü örneğinin veya karmaşık tür örneğinin içereceği verilerin şeklini ve özelliklerini tanımlar. Kavramsal modeldeki özellikler, bir sınıfta tanımlanan özelliklere benzer. Bir sınıftaki özelliklerin sınıfın şeklini tanımlaması ve nesneler hakkında bilgi taşıması gibi, kavramsal modeldeki özellikler bir varlık türünün şeklini tanımlar ve varlık türü örnekleri hakkında bilgi taşır.

Not

Bu konuda açıklandığı gibi özellikler gezinti özelliklerinden farklıdır. Daha fazla bilgi için bkz . gezinti özellikleri.

Özellik tanımı aşağıdaki bilgileri içerir:

  • Özellik adı. (Gerekli)

  • Özellik türü. (Gerekli)

  • Bir dizi model. (İsteğe bağlı)

Bir özellik ilkel veriler (dize, tamsayı veya Boole değeri gibi) veya yapılandırılmış veriler (karmaşık bir tür gibi) içerebilir. İlkel türde özellikler skaler özellikler olarak da adlandırılır. Daha fazla bilgi için bkz . Varlık Veri Modeli: Temel Veri Türleri.

Not

Karmaşık bir türün kendisi, karmaşık türler olan özelliklere sahip olabilir.

Örnek

Aşağıdaki diyagramda üç varlık türüne sahip kavramsal bir model gösterilmektedir: Book, Publisherve Author. Her özellik için tür bilgileri diyagramda aktarılmasa da, her varlık türünün çeşitli özellikleri vardır. Varlık anahtarları olan özellikler (Key) ile gösterilir.

Example model with three entity types

ADO.NET Entity Framework, kavramsal modelleri tanımlamak için kavramsal şema tanım dili (CSDL) olarak adlandırılan etki alanına özgü bir dil (DSL) kullanır. Aşağıdaki CSDL, varlık türünü tanımlar Book (yukarıdaki diyagramda gösterildiği gibi) ve XML özniteliklerini kullanarak her özelliğin türünü ve adını gösterir. İsteğe bağlı model olan Nullable, bir XML özniteliği kullanılarak da tanımlanır.

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

Diyagramda gösterilen özelliklerden birinin karmaşık bir tür özelliği olması mümkündür. Örneğin, varlık türündeki Publisher özellik , Address , StateOrProvinceCity, Countryve PostalCodegibi StreetAddressçeşitli skaler özelliklerden oluşan karmaşık bir tür özelliği olabilir. Böyle karmaşık bir türün CSDL gösterimi aşağıdaki gibi olacaktır:

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

Ayrıca bkz.