共用方式為


RelationalDatabaseCreator 類別

定義

執行資料庫/架構建立和其他相關作業。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

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
繼承
RelationalDatabaseCreator
實作
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

備註

服務存留期為 Scoped 。 這表示每個 DbContext 實例都會使用此服務自己的實例。 實作可能相依于任何存留期註冊的其他服務。 實作不需要安全線程。

如需詳細資訊和範例,請參閱 資料庫提供者和延伸模組的實作

建構函式

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
已淘汰.

初始化 RelationalDatabaseCreator 類別的新執行個體。

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

初始化 RelationalDatabaseCreator 類別的新執行個體。

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

初始化 RelationalDatabaseCreator 類別的新執行個體。

屬性

Connection

取得資料庫的連接。

Dependencies

此服務的關聯式提供者特定相依性。

ExecutionStrategyFactory

IExecutionStrategyFactory取得要使用的 。

MigrationCommandExecutor

IMigrationCommandExecutor取得要使用的 。

Model

取得這個建立者正在使用的內容模型。

方法

CanConnect()

判斷資料庫是否可用且可連線。

CanConnectAsync(CancellationToken)

判斷資料庫是否可用且可連線。

Create()

建立實體資料庫。 不會嘗試以任何架構填入它。

CreateAsync(CancellationToken)

以非同步方式建立實體資料庫。 不會嘗試以任何架構填入它。

CreateTables()

建立資料庫中目前模型的所有資料表。 不會嘗試累加更新架構。 假設資料庫中沒有任何資料表存在。

CreateTablesAsync(CancellationToken)

以非同步方式建立資料庫中目前模型的所有資料表。 不會嘗試累加更新架構。 假設資料庫中沒有任何資料表存在。

Delete()

刪除實體資料庫。

DeleteAsync(CancellationToken)

以非同步方式刪除實體資料庫。

EnsureCreated()

確定內容的資料庫存在。 如果存在,不會採取任何動作。 如果不存在,則會建立資料庫及其所有架構。 如果資料庫存在,則不努力確保它與此內容的模型相容。

EnsureCreatedAsync(CancellationToken)

以非同步方式確保內容的資料庫存在。 如果存在,不會採取任何動作。 如果不存在,則會建立資料庫及其所有架構。 如果資料庫存在,則不努力確保它與此內容的模型相容。

EnsureDeleted()

確定內容的資料庫不存在。 如果不存在,則不會採取任何動作。 如果存在,則會刪除資料庫。

警告:會刪除整個資料庫,而且不努力只移除模型用於此內容的資料庫物件。

EnsureDeletedAsync(CancellationToken)

以非同步方式確保內容的資料庫不存在。 如果不存在,則不會採取任何動作。 如果存在,則會刪除資料庫。

警告:會刪除整個資料庫,而且不努力只移除模型用於此內容的資料庫物件。

Exists()

判斷實體資料庫是否存在。 不會嘗試判斷資料庫是否包含目前模型的架構。

ExistsAsync(CancellationToken)

以非同步方式判斷實體資料庫是否存在。 不會嘗試判斷資料庫是否包含目前模型的架構。

GenerateCreateScript()

產生腳本,以建立目前模型的所有資料表。

GetCreateTablesCommands()

取得會從模型建立所有資料表的命令。

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

取得會從模型建立所有資料表的命令。

HasTables()

判斷資料庫是否包含任何資料表。 不會嘗試判斷資料表是否屬於目前的模型。

HasTablesAsync(CancellationToken)

以非同步方式判斷資料庫是否包含任何資料表。 不會嘗試判斷資料表是否屬於目前的模型。

明確介面實作

IServiceInjectionSite.InjectServices(IServiceProvider)

此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

適用於