RelationalDatabaseCreator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
執行資料庫/架構建立和其他相關作業。
此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。
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 實例都會使用此服務自己的實例。 實作可能相依于任何存留期註冊的其他服務。 實作不需要安全線程。
如需詳細資訊和範例,請參閱 資料庫提供者和延伸模組的實作 。
建構函式
屬性
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 可能會在未來的版本中變更或移除。 |