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.
LINQ ke SQL memetakan database SQL Server ke model objek LINQ ke SQL dengan menerapkan atribut atau dengan menggunakan file pemetaan eksternal. Topik ini menguraikan pendekatan berbasis atribut.
Dalam bentuknya yang paling dasar, LINQ to SQL memetakan database ke DataContext, tabel ke kelas, serta kolom dan hubungan ke properti pada kelas tersebut. Anda juga dapat menggunakan atribut untuk memetakan hierarki pewarisan dalam model objek Anda. Untuk informasi selengkapnya, lihat Cara: Membuat Model Objek di Visual Basic atau C#.
Pengembang yang menggunakan Visual Studio biasanya melakukan pemetaan berbasis atribut dengan menggunakan Object Relational Designer. Anda juga dapat menggunakan alat baris perintah SQLMetal, atau Anda dapat mengkodekan atribut sendiri. Untuk informasi selengkapnya, lihat Cara: Membuat Model Objek di Visual Basic atau C#.
Nota
Anda juga dapat memetakan dengan menggunakan file XML eksternal. Untuk informasi selengkapnya, lihat Pemetaan Eksternal.
Bagian berikut menjelaskan pemetaan berbasis atribut secara lebih rinci. Untuk informasi selengkapnya, lihat namespace System.Data.Linq.Mapping.
DatabaseAttribute
Gunakan atribut ini untuk menentukan nama default database saat nama tidak disediakan oleh koneksi. Atribut ini bersifat opsional, tetapi jika Anda menggunakannya, Anda harus menerapkan Name properti , seperti yang dijelaskan dalam tabel berikut.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| Name | string | Lihat Name | Digunakan dengan propertinya Name , menentukan nama database. |
Untuk informasi selengkapnya, lihat DatabaseAttribute .
Atribut TableAttribute
Gunakan atribut ini untuk menunjuk kelas sebagai kelas entitas yang terkait dengan tabel atau tampilan database. LINQ ke SQL memperlakukan kelas yang memiliki atribut ini sebagai kelas persisten. Tabel berikut ini menjelaskan Name properti .
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| Name | string | String yang sama dengan nama kelas | Menunjuk kelas sebagai kelas entitas yang terkait dengan tabel database. |
Untuk informasi selengkapnya, lihat TableAttribute .
Atribut ColumnAttribute
Gunakan atribut ini untuk menunjuk anggota kelas entitas untuk mewakili kolom dalam tabel database. Anda dapat menerapkan atribut ini ke bidang atau properti apa pun.
Hanya anggota yang Anda identifikasi sebagai kolom yang diambil dan dipertahankan saat LINQ ke SQL menyimpan perubahan ke database. Anggota tanpa atribut ini diasumsikan tidak persisten dan tidak dikirimkan untuk penyisipan atau pembaruan.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| AutoSync | Sinkronisasi Otomatis | Tidak pernah | Menginstruksikan Common Language Runtime (CLR) untuk mengambil kembali nilai setelah operasi sisipkan atau perbarui. Opsi: Selalu, Tidak Pernah, Saat Memperbarui, Saat Menyisipkan. |
| CanBeNull | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | true |
Menunjukkan bahwa kolom dapat berisi nilai null. |
| DbType | string | Tipe kolom database yang disimpulkan | Menggunakan jenis database dan pengubah untuk menentukan jenis kolom database. |
| Expression | string | Kosong | Menentukan kolom komputasi dalam database. |
| IsDbGenerated | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Menunjukkan bahwa kolom berisi nilai yang dihasilkan secara otomatis database. |
| IsDiscriminator | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Menunjukkan bahwa kolom berisi nilai diskriminator untuk hierarki pewarisan LINQ ke SQL. |
| IsPrimaryKey | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Menentukan bahwa anggota kelas ini mewakili kolom yang merupakan atau merupakan bagian dari kunci utama tabel. |
| IsVersion | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Mengidentifikasi jenis kolom anggota sebagai tanda waktu database atau nomor versi. |
| UpdateCheck | UpdateCheck |
Always, kecuali IsVersion adalah true untuk anggota |
Menentukan bagaimana LINQ ke SQL menangani pendeteksian konflik konkurensi optimis. |
Untuk informasi selengkapnya, lihat ColumnAttribute .
Nota
Nilai properti AssociationAttribute dan ColumnAttribute Storage bersifat pembeda huruf besar/kecil. Misalnya, pastikan bahwa nilai yang digunakan dalam atribut untuk properti AssociationAttribute.Storage cocok dengan kasus untuk nama properti terkait yang digunakan di tempat lain dalam kode. Ini berlaku untuk semua bahasa pemrograman .NET, bahkan yang biasanya tidak peka huruf besar/kecil, termasuk Visual Basic. Untuk informasi selengkapnya tentang properti Penyimpanan, lihat DataAttribute.Storage.
Atribut AssociationAttribute
Gunakan atribut ini untuk menunjuk properti untuk mewakili asosiasi dalam database, seperti kunci asing ke hubungan kunci primer. Untuk informasi selengkapnya tentang hubungan, lihat Cara: Memetakan Hubungan Database.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| DeleteOnNull | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Ketika ditempatkan pada asosiasi yang anggota kunci asingnya semuanya tidak dapat bernilai null, objek tersebut akan dihapus saat asosiasi diatur ke null. |
| DeleteRule | string | Tidak ada | Menambah perilaku penghapusan pada asosiasi. |
| IsForeignKey | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Jika true, menunjuk anggota sebagai kunci asing dalam asosiasi yang mewakili hubungan database. |
| IsUnique | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Jika benar, menunjukkan batasan keunikan pada kunci asing. |
| OtherKey | string | ID kelas terkait | Menunjuk satu atau beberapa anggota kelas entitas target sebagai nilai kunci di sisi lain asosiasi. |
| ThisKey | string | ID kelas yang berisi | Menunjuk anggota kelas entitas ini untuk mewakili nilai kunci di sisi asosiasi ini. |
Untuk informasi selengkapnya, lihat AssociationAttribute .
Nota
Nilai properti AssociationAttribute dan ColumnAttribute Storage bersifat pembeda huruf besar/kecil. Misalnya, pastikan bahwa nilai yang digunakan dalam atribut untuk properti AssociationAttribute.Storage cocok dengan kasus untuk nama properti terkait yang digunakan di tempat lain dalam kode. Ini berlaku untuk semua bahasa pemrograman .NET, bahkan yang biasanya tidak peka huruf besar/kecil, termasuk Visual Basic. Untuk informasi selengkapnya tentang properti Penyimpanan, lihat DataAttribute.Storage.
Atribut InheritanceMappingAttribute
Gunakan atribut ini untuk memetakan hierarki pewarisan.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| Code | string | Tidak ada. Nilai harus disediakan. | Menentukan nilai kode yang dimiliki oleh diskriminator. |
| IsDefault | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Jika true, menginstansiasi objek dari jenis ini ketika tidak ada nilai diskriminator di dalam penyimpanan yang cocok dengan nilai yang ditentukan. |
| Type | Tipe | Tidak ada. Nilai harus disediakan. | Menentukan jenis kelas dalam hierarki. |
Untuk informasi selengkapnya, lihat InheritanceMappingAttribute .
Atribut FunctionAttribute
Gunakan atribut ini untuk menunjuk metode sebagai mewakili prosedur tersimpan atau fungsi yang ditentukan pengguna dalam database.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| IsComposable | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | false |
Jika salah, menunjukkan bahwa terdapat pemetaan ke prosedur tersimpan. Jika true, menunjukkan pemetaan ke fungsi yang ditentukan pengguna. |
| Name | string | String yang sama dengan nama dalam database | Menentukan nama prosedur tersimpan atau fungsi yang ditentukan pengguna. |
Untuk informasi selengkapnya, lihat FunctionAttribute .
Atribut ParameterAttribute
Gunakan atribut ini untuk memetakan parameter input pada metode prosedur tersimpan.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| DbType | string | Tidak ada | Menentukan jenis database. |
| Name | string | String yang sama dengan nama parameter dalam database | Menentukan nama untuk parameter . |
Untuk informasi selengkapnya, lihat ParameterAttribute .
Atribut ResultTypeAttribute
Gunakan atribut ini untuk menentukan jenis hasil.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| Type | Tipe | (Tidak Ada) | Digunakan pada metode yang terkait dengan prosedur penyimpanan yang mengembalikan IMultipleResults. Menentukan pemetaan tipe yang valid atau diharapkan untuk prosedur tersimpan. |
Untuk informasi selengkapnya, lihat ResultTypeAttribute .
Atribut DataAttribute
Gunakan atribut ini untuk menentukan nama dan bidang penyimpanan privat.
Tabel berikut ini menjelaskan properti atribut ini.
| Harta benda | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
| Name | string | Sama seperti nama dalam database | Menentukan nama tabel, kolom, dan sebagainya. |
| Storage | string | Aksesor publik | Menentukan nama bidang penyimpanan yang dasar. |
Untuk informasi selengkapnya, lihat DataAttribute .