Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jenis kompleks adalah templat untuk menentukan properti terstruktur yang kaya pada jenis entitas atau pada jenis kompleks lainnya. Setiap templat berisi yang berikut ini:
Nama yang unik. (Diperlukan)
Nota
Nama jenis kompleks tidak boleh sama dengan nama jenis entitas dalam namespace yang sama.
Data dalam bentuk satu atau beberapa properti. (Opsional.)
Nota
Jenis kompleks dapat memiliki properti yang merupakan jenis kompleks lainnya.
Jenis kompleks mirip dengan jenis entitas di mana jenis kompleks dapat membawa payload data dalam bentuk properti jenis primitif atau jenis kompleks lainnya. Namun, ada beberapa perbedaan utama antara jenis kompleks dan jenis entitas:
Jenis kompleks tidak memiliki identitas dan oleh karena itu tidak dapat ada secara independen. Jenis kompleks hanya dapat ada sebagai properti pada jenis entitas atau jenis kompleks lainnya.
Jenis kompleks tidak dapat berpartisipasi dalam asosiasi. Tidak ada akhir asosiasi yang dapat menjadi jenis kompleks, dan oleh karena itu properti navigasi tidak dapat ditentukan pada jenis kompleks.
Contoh
Kerangka Kerja Entitas ADO.NET menggunakan bahasa khusus domain (DSL) yang disebut bahasa definisi skema konseptual (CSDL) untuk menentukan model konseptual. CSDL berikut mendefinisikan jenis kompleks, Alamat, dengan properti jenis primitif StreetAddress, City, StateOrProvince, Country, dan PostalCode.
<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>
Untuk menentukan jenis Address kompleks (di atas) sebagai properti pada jenis entitas, Anda harus mendeklarasikan jenis properti dalam definisi jenis entitas. CSDL berikut mendeklarasikan Address properti sebagai jenis kompleks pada jenis entitas (Publisher):
<EntityType Name="Publisher">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Type="Int32" Name="Id" Nullable="false" />
<Property Type="String" Name="Name" Nullable="false" />
<Property Type="BooksModel.Address" Name="Address" Nullable="false" />
<NavigationProperty Name="Books" Relationship="BooksModel.PublishedBy"
FromRole="Publisher" ToRole="Book" />
</EntityType>
Lihat juga
- Konsep Kunci Model Data Entitas
- Model Data Entitas