IRelationalDatabaseCreator 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
執行資料庫/架構建立及其他相關操作。
此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。
public interface IRelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator
type IRelationalDatabaseCreator = interface
interface IDatabaseCreator
Public Interface IRelationalDatabaseCreator
Implements IDatabaseCreator
- 衍生
- 實作
備註
服役期間為 Scoped。 這表示每個 DbContext 實例都會使用自己的服務實例。 實作方式可能取決於其他註冊於任何生命週期的服務。 實作不需要執行緒安全。
更多資訊與範例請參見 資料庫提供者與擴充功能的實作 。
方法
| 名稱 | Description |
|---|---|
| CanConnect() |
判斷資料庫是否可用且可連接。 (繼承來源 IDatabaseCreator) |
| CanConnectAsync(CancellationToken) |
判斷資料庫是否可用且可連接。 (繼承來源 IDatabaseCreator) |
| Create() |
建立實體資料庫。 不會嘗試用任何結構來填充。 |
| CreateAsync(CancellationToken) |
非同步建立實體資料庫。 不會嘗試用任何結構來填充。 |
| CreateTables() |
建立資料庫中目前模型的所有資料表。 不會嘗試逐步更新結構結構。 假設資料庫中沒有任何資料表存在。 |
| CreateTablesAsync(CancellationToken) |
非同步建立資料庫中目前模型的所有資料表。 不會嘗試逐步更新結構結構。 假設資料庫中沒有任何資料表存在。 |
| Delete() |
刪除實體資料庫。 |
| DeleteAsync(CancellationToken) |
非同步刪除實體資料庫。 |
| EnsureCreated() |
確保上下文的資料庫存在。 如果存在,則不會採取任何行動。 如果不存在,則資料庫及其所有結構會被建立。 如果資料庫存在,則不會特別努力確保它與該模型在此情境下的相容性。 (繼承來源 IDatabaseCreator) |
| EnsureCreatedAsync(CancellationToken) |
非同步確保上下文資料庫的存在。 如果存在,則不會採取任何行動。 如果不存在,則資料庫及其所有結構會被建立。 如果資料庫存在,則不會特別努力確保它與該模型在此情境下的相容性。 (繼承來源 IDatabaseCreator) |
| EnsureDeleted() |
確保上下文資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。 警告:整個資料庫已被刪除,且不會嘗試移除模型在此情境中使用的資料庫物件。 (繼承來源 IDatabaseCreator) |
| EnsureDeletedAsync(CancellationToken) |
非同步確保上下文的資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。 警告:整個資料庫已被刪除,且不會嘗試移除模型在此情境中使用的資料庫物件。 (繼承來源 IDatabaseCreator) |
| Exists() |
判斷實體資料庫是否存在。 不會嘗試判斷資料庫是否包含目前模型的結構。 |
| ExistsAsync(CancellationToken) |
非同步判斷實體資料庫是否存在。 不會嘗試判斷資料庫是否包含目前模型的結構。 |
| GenerateCreateScript() |
產生腳本來建立目前模型的所有資料表。 |
| HasTables() |
判斷資料庫中是否包含任何資料表。 沒有嘗試判斷這些資料表是否屬於目前的模型。 |
| HasTablesAsync(CancellationToken) |
非同步判斷資料庫是否包含任何資料表。 沒有嘗試判斷這些資料表是否屬於目前的模型。 |