Database Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Instans kelas ini diperoleh dari DbContext objek dan dapat digunakan untuk mengelola database aktual yang mendukung DbContext atau koneksi. Ini termasuk membuat, menghapus, dan memeriksa keberadaan database. Perhatikan bahwa penghapusan dan pemeriksaan keberadaan database dapat dilakukan hanya menggunakan koneksi (yaitu tanpa konteks penuh) dengan menggunakan metode statis kelas ini.
public class Database
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification="The DbContextTransaction and EntityTransaction should never be disposed by this class")]
public class Database
type Database = class
Public Class Database
- Warisan
-
Database
- Atribut
Properti
CommandTimeout |
Mendapatkan atau mengatur nilai batas waktu, dalam detik, untuk semua operasi konteks. Nilai default adalah null, di mana null menunjukkan bahwa nilai default penyedia yang mendasar akan digunakan. |
Connection |
Mengembalikan koneksi yang digunakan oleh konteks ini. Ini dapat menyebabkan koneksi dibuat jika belum ada. |
CurrentTransaction |
Mendapatkan transaksi tempat koneksi penyimpanan yang mendasar terdaftar. Mungkin null. |
DefaultConnectionFactory |
Kedaluwarsa.
Pabrik koneksi yang digunakan saat membuat DbConnection hanya dari nama database atau string koneksi. |
Log |
Atur properti ini untuk mencatat SQL yang dihasilkan oleh DbContext ke delegasi yang diberikan. Misalnya, untuk masuk ke konsol, atur properti ini ke Write(String). |
Metode
BeginTransaction() |
Memulai transaksi pada koneksi penyimpanan yang mendasar |
BeginTransaction(IsolationLevel) |
Memulai transaksi pada koneksi penyimpanan yang mendasar menggunakan tingkat isolasi yang ditentukan |
CompatibleWithModel(Boolean) |
Memeriksa apakah database kompatibel dengan model Kode Pertama saat ini atau tidak. |
Create() |
Membuat database baru di server database untuk model yang ditentukan dalam konteks dukungan. Perhatikan bahwa memanggil metode ini sebelum strategi inisialisasi database berjalan akan menonaktifkan eksekusi strategi tersebut. |
CreateIfNotExists() |
Membuat database baru di server database untuk model yang ditentukan dalam konteks dukungan, tetapi hanya jika database dengan nama yang sama belum ada di server. |
Delete() |
Menghapus database di server database jika ada, jika tidak, tidak melakukan apa pun. Memanggil metode ini dari luar penginisialisasi akan menandai database sebagai belum diinisialisasi. Ini berarti bahwa jika upaya dilakukan untuk menggunakan database lagi setelah dihapus, maka set inisialisasi apa pun akan berjalan lagi dan, biasanya, akan mencoba membuat database lagi secara otomatis. |
Delete(DbConnection) |
Menghapus database di server database jika ada, jika tidak, tidak melakukan apa pun. |
Delete(String) |
Menghapus database di server database jika ada, jika tidak, tidak melakukan apa pun. Koneksi ke database dibuat menggunakan nama database atau string koneksi yang diberikan dengan cara yang sama seperti yang dijelaskan dalam dokumentasi untuk DbContext kelas . |
Equals(Object) |
Instans kelas ini diperoleh dari DbContext objek dan dapat digunakan untuk mengelola database aktual yang mendukung DbContext atau koneksi. Ini termasuk membuat, menghapus, dan memeriksa keberadaan database. Perhatikan bahwa penghapusan dan pemeriksaan keberadaan database dapat dilakukan hanya menggunakan koneksi (yaitu tanpa konteks penuh) dengan menggunakan metode statis kelas ini. |
ExecuteSqlCommand(String, Object[]) |
Menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommand("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommand("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
ExecuteSqlCommand(TransactionalBehavior, String, Object[]) |
Menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommand("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommand("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
ExecuteSqlCommandAsync(String, CancellationToken, Object[]) |
Secara asinkron menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
ExecuteSqlCommandAsync(String, Object[]) |
Secara asinkron menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
ExecuteSqlCommandAsync(TransactionalBehavior, String, CancellationToken, Object[]) |
Secara asinkron menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
ExecuteSqlCommandAsync(TransactionalBehavior, String, Object[]) |
Secara asinkron menjalankan perintah DDL/DML yang diberikan terhadap database. Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Postingan SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Atau, Anda juga dapat membuat DbParameter dan memasoknya ke SqlQuery. Ini memungkinkan Anda menggunakan parameter bernama dalam string kueri SQL. Konteks. Database.ExecuteSqlCommandAsync("UPDATE dbo. Peringkat SET Postingan = 5 WHERE Author = @author", SqlParameter baru("@author", userSuppliedAuthor)); |
Exists() |
Memeriksa apakah database ada atau tidak di server. |
Exists(DbConnection) |
Memeriksa apakah database ada atau tidak di server. |
Exists(String) |
Memeriksa apakah database ada atau tidak di server. Koneksi ke database dibuat menggunakan nama database atau string koneksi yang diberikan dengan cara yang sama seperti yang dijelaskan dalam dokumentasi untuk DbContext kelas . |
GetHashCode() |
Instans kelas ini diperoleh dari DbContext objek dan dapat digunakan untuk mengelola database aktual yang mendukung DbContext atau koneksi. Ini termasuk membuat, menghapus, dan memeriksa keberadaan database. Perhatikan bahwa penghapusan dan pemeriksaan keberadaan database dapat dilakukan hanya menggunakan koneksi (yaitu tanpa konteks penuh) dengan menggunakan metode statis kelas ini. |
GetType() |
Mendapatkan instans Type saat ini. |
Initialize(Boolean) |
Menjalankan yang terdaftar IDatabaseInitializer<TContext> pada konteks ini. Jika "force" diatur ke true, maka inisialisasi dijalankan terlepas dari apakah itu telah dijalankan sebelumnya atau belum. Ini dapat berguna jika database dihapus saat aplikasi sedang berjalan dan perlu diinisialisasi ulang. Jika "force" diatur ke false, maka inisialisasi hanya dijalankan jika belum dijalankan untuk konteks, model, dan koneksi ini di domain aplikasi ini. Metode ini biasanya digunakan ketika perlu untuk memastikan bahwa database telah dibuat dan disemai sebelum memulai beberapa operasi di mana melakukannya dengan malas akan menyebabkan masalah, seperti ketika operasi adalah bagian dari transaksi. |
SetInitializer<TContext>(IDatabaseInitializer<TContext>) |
Mengatur penginisialisasi database yang akan digunakan untuk jenis konteks yang diberikan. Penginisialisasi database dipanggil ketika jenis yang diberikan DbContext digunakan untuk mengakses database untuk pertama kalinya. Strategi default untuk konteks Code First adalah instans .CreateDatabaseIfNotExists<TContext> |
SqlQuery(Type, String, Object[]) |
Membuat kueri SQL mentah yang akan mengembalikan elemen dari jenis yang diberikan. Jenisnya bisa berupa jenis apa pun yang memiliki properti yang cocok dengan nama kolom yang dikembalikan dari kueri, atau bisa menjadi jenis primitif sederhana. Jenis tidak harus menjadi jenis entitas. Hasil kueri ini tidak pernah dilacak oleh konteks meskipun jenis objek yang dikembalikan adalah jenis entitas. SqlQuery(String, Object[]) Gunakan metode untuk mengembalikan entitas yang dilacak oleh konteks. |
SqlQuery<TElement>(String, Object[]) |
Membuat kueri SQL mentah yang akan mengembalikan elemen dari jenis generik yang diberikan. Jenisnya bisa berupa jenis apa pun yang memiliki properti yang cocok dengan nama kolom yang dikembalikan dari kueri, atau bisa menjadi jenis primitif sederhana. Jenis tidak harus menjadi jenis entitas. Hasil kueri ini tidak pernah dilacak oleh konteks meskipun jenis objek yang dikembalikan adalah jenis entitas. SqlQuery(String, Object[]) Gunakan metode untuk mengembalikan entitas yang dilacak oleh konteks. |
ToString() |
Instans kelas ini diperoleh dari DbContext objek dan dapat digunakan untuk mengelola database aktual yang mendukung DbContext atau koneksi. Ini termasuk membuat, menghapus, dan memeriksa keberadaan database. Perhatikan bahwa penghapusan dan pemeriksaan keberadaan database dapat dilakukan hanya menggunakan koneksi (yaitu tanpa konteks penuh) dengan menggunakan metode statis kelas ini. |
UseTransaction(DbTransaction) |
Memungkinkan pengguna untuk meneruskan transaksi database yang dibuat di luar Database objek jika Anda ingin Kerangka Kerja Entitas menjalankan perintah dalam transaksi eksternal tersebut. Atau, teruskan null untuk menghapus pengetahuan kerangka kerja tentang transaksi tersebut. |
Berlaku untuk
Entity Framework