Bagikan melalui


RelationalDatabaseCreator Kelas

Definisi

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)
Kedaluwarsa.

Menginisialisasi instans baru kelas RelationalDatabaseCreator.

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory)

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