RelationalDatabaseCreator 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.
Melakukan pembuatan database/skema, dan operasi terkait lainnya.
Jenis ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Ini umumnya tidak digunakan dalam kode aplikasi.
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IServiceInjectionSite
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
- Warisan
-
RelationalDatabaseCreator
- Penerapan
-
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect
Keterangan
Masa pakai layanan adalah Scoped. Ini berarti bahwa setiap DbContext instans akan menggunakan instans layanan ini sendiri. Implementasi dapat bergantung pada layanan lain yang terdaftar dengan masa pakai apa pun. Implementasinya tidak perlu aman untuk utas.
Lihat Implementasi penyedia dan ekstensi database untuk informasi dan contoh selengkapnya.
Konstruktor
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
Menginisialisasi instans baru kelas RelationalDatabaseCreator. |
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Kedaluwarsa.
Menginisialisasi instans baru kelas RelationalDatabaseCreator. |
RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies) |
Menginisialisasi instans baru kelas RelationalDatabaseCreator. |
Properti
Connection |
Mendapatkan koneksi untuk database. |
Dependencies |
Dependensi khusus penyedia relasional untuk layanan ini. |
ExecutionStrategyFactory |
Mendapatkan yang IExecutionStrategyFactory akan digunakan. |
MigrationCommandExecutor |
Mendapatkan yang IMigrationCommandExecutor akan digunakan. |
Model |
Mendapatkan model untuk konteks yang digunakan pembuat ini. |
Metode
CanConnect() |
Menentukan apakah database tersedia atau tidak dan dapat disambungkan. |
CanConnectAsync(CancellationToken) |
Menentukan apakah database tersedia atau tidak dan dapat disambungkan. |
Create() |
Membuat database fisik. Tidak mencoba mengisinya dengan skema apa pun. |
CreateAsync(CancellationToken) |
Secara asinkron membuat database fisik. Tidak mencoba mengisinya dengan skema apa pun. |
CreateTables() |
Membuat semua tabel untuk model saat ini dalam database. Tidak ada upaya yang dilakukan untuk memperbarui skema secara bertahap. Diasumsikan bahwa tidak ada tabel dalam database. |
CreateTablesAsync(CancellationToken) |
Secara asinkron membuat semua tabel untuk model saat ini dalam database. Tidak ada upaya yang dilakukan untuk memperbarui skema secara bertahap. Diasumsikan bahwa tidak ada tabel dalam database. |
Delete() |
Menghapus database fisik. |
DeleteAsync(CancellationToken) |
Menghapus database fisik secara asinkron. |
EnsureCreated() |
Memastikan bahwa database untuk konteks ada. Jika ada, tidak ada tindakan yang diambil. Jika tidak ada maka database dan semua skemanya dibuat. Jika database ada, maka tidak ada upaya yang dilakukan untuk memastikan database kompatibel dengan model untuk konteks ini. |
EnsureCreatedAsync(CancellationToken) |
Secara asinkron memastikan bahwa database untuk konteks ada. Jika ada, tidak ada tindakan yang diambil. Jika tidak ada maka database dan semua skemanya dibuat. Jika database ada, maka tidak ada upaya yang dilakukan untuk memastikan database kompatibel dengan model untuk konteks ini. |
EnsureDeleted() |
Memastikan bahwa database untuk konteks tidak ada. Jika tidak ada, tidak ada tindakan yang diambil. Jika memang ada maka database akan dihapus. Peringatan: Seluruh database dihapus dan tidak ada upaya yang dilakukan untuk menghapus hanya objek database yang digunakan oleh model untuk konteks ini. |
EnsureDeletedAsync(CancellationToken) |
Secara asinkron memastikan bahwa database untuk konteks tidak ada. Jika tidak ada, tidak ada tindakan yang diambil. Jika memang ada maka database akan dihapus. Peringatan: Seluruh database dihapus dan tidak ada upaya yang dilakukan untuk menghapus hanya objek database yang digunakan oleh model untuk konteks ini. |
Exists() |
Menentukan apakah database fisik ada. Tidak ada upaya yang dilakukan untuk menentukan apakah database berisi skema untuk model saat ini. |
ExistsAsync(CancellationToken) |
Secara asinkron menentukan apakah database fisik ada. Tidak ada upaya yang dilakukan untuk menentukan apakah database berisi skema untuk model saat ini. |
GenerateCreateScript() |
Menghasilkan skrip untuk membuat semua tabel untuk model saat ini. |
GetCreateTablesCommands() |
Mendapatkan perintah yang akan membuat semua tabel dari model. |
GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Mendapatkan perintah yang akan membuat semua tabel dari model. |
HasTables() |
Menentukan apakah database berisi tabel apa pun. Tidak ada upaya yang dilakukan untuk menentukan apakah tabel milik model saat ini atau tidak. |
HasTablesAsync(CancellationToken) |
Secara asinkron menentukan apakah database berisi tabel apa pun. Tidak ada upaya yang dilakukan untuk menentukan apakah tabel milik model saat ini atau tidak. |
Implementasi Antarmuka Eksplisit
IServiceInjectionSite.InjectServices(IServiceProvider) |
API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang. |
Berlaku untuk
Entity Framework