DatabaseFacade 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供資料庫相關資訊與操作的存取,以提供上下文。 這個類別的實例通常是從 Database 應用程式中取得,且並非設計成直接在應用程式程式碼中建構。
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
[System.Runtime.CompilerServices.Nullable(0)]
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Infrastructure.IResettableService, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Infrastructure.IResettableService, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
[<System.Runtime.CompilerServices.Nullable(0)>]
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
interface IResettableService
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
interface IInfrastructure<IServiceProvider>
interface IDatabaseFacadeDependenciesAccessor
interface IResettableService
Public Class DatabaseFacade
Implements IInfrastructure(Of IServiceProvider)
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider), IResettableService
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider)
- 繼承
-
DatabaseFacade
- 屬性
- 實作
-
IInfrastructure<IServiceProvider> IResettableService IDatabaseFacadeDependenciesAccessor Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
建構函式
| 名稱 | Description |
|---|---|
| DatabaseFacade(DbContext) |
初始化 DatabaseFacade 類別的新執行個體。 這個類別的實例通常是從 Database 應用程式中取得,且並非設計成直接在應用程式程式碼中建構。 |
屬性
| 名稱 | Description |
|---|---|
| AutoSavepointsEnabled |
交易儲存點是否會自動 SaveChanges() 建立,若交易在手動啟動後 BeginTransaction()被呼叫。 |
| AutoTransactionBehavior |
若未呼叫「BeginTransaction」或「UseTransaction」,會取得或設定一個值,表示交易是否會自動 SaveChanges() 建立。 |
| AutoTransactionsEnabled |
已淘汰.
已淘汰.
若未呼叫任何「BeginTransaction」或「UseTransaction」方法,則會取得或設定一個值,指示交易是否會自動 SaveChanges() 建立。 |
| CurrentTransaction |
取得上下文目前使用的狀態 IDbContextTransaction ,若沒有交易正在使用則為空值。 |
| ProviderName |
回傳目前使用的資料庫提供者名稱。 名稱通常是提供者組裝的名稱。 通常使用糖法 Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer 會比直接呼叫這個方法更簡單。 |
方法
| 名稱 | Description |
|---|---|
| BeginTransaction() |
開始一筆新交易。 |
| BeginTransactionAsync(CancellationToken) |
非同步啟動新交易。 |
| CanConnect() |
判斷資料庫是否可用且可連接。 |
| CanConnectAsync(CancellationToken) |
判斷資料庫是否可用且可連接。 |
| CommitTransaction() |
將目前交易中未完成的操作套用到資料庫中。 |
| CommitTransactionAsync(CancellationToken) |
將目前交易中未完成的操作套用到資料庫中。 |
| CreateExecutionStrategy() |
建立配置 IExecutionStrategy的實例。 |
| EnsureCreated() |
確保上下文的資料庫存在。 |
| EnsureCreatedAsync(CancellationToken) |
確保上下文的資料庫存在。 |
| EnsureDeleted() |
確保上下文資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。 警告:整個資料庫已被刪除,且不會僅移除模型在此情境中使用的資料庫物件。 |
| EnsureDeletedAsync(CancellationToken) |
非同步確保上下文的資料庫不存在。 若不存在,則不採取任何行動。 如果真的存在,資料庫就會被刪除。 警告:整個資料庫已被刪除,且不會僅移除模型在此情境中使用的資料庫物件。 |
| RollbackTransaction() |
丟棄當前交易中未完成的操作。 |
| RollbackTransactionAsync(CancellationToken) |
丟棄當前交易中未完成的操作。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IDatabaseFacadeDependenciesAccessor.Context |
這是一個內部 API,支援 Entity Framework Core 基礎架構,且不受公開 API 相同的相容性標準約束。 該內容可能會在任何新聞稿中未經通知而更改或移除。 你應該只在程式碼中直接使用它,並且要非常謹慎,並且要知道這樣做可能會導致更新到新的 Entity Framework Core 版本時應用程式失敗。 |
| IDatabaseFacadeDependenciesAccessor.Dependencies |
這是一個內部 API,支援 Entity Framework Core 基礎架構,且不受公開 API 相同的相容性標準約束。 該內容可能會在任何新聞稿中未經通知而更改或移除。 你應該只在程式碼中直接使用它,並且要非常謹慎,並且要知道這樣做可能會導致更新到新的 Entity Framework Core 版本時應用程式失敗。 |
| IInfrastructure<IServiceProvider>.Instance |
取得用於解決服務的範圍 IServiceProvider 。 此特性是為需要利用未直接暴露於公開 API 表面服務的擴充方法所設計。 |
| IResettableService.ResetState() |
重置服務,讓它能從池中使用。 |
| IResettableService.ResetStateAsync(CancellationToken) |
提供資料庫相關資訊與操作的存取,以提供上下文。 這個類別的實例通常是從 Database 應用程式中取得,且並非設計成直接在應用程式程式碼中建構。 |