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
构造函数
| 名称 | 说明 |
|---|---|
| DatabaseFacade(DbContext) |
初始化 DatabaseFacade 类的新实例。 此类的实例通常是从中 Database 获取的,它不设计为直接在应用程序代码中构造。 |
属性
| 名称 | 说明 |
|---|---|
| AutoSavepointsEnabled |
如果在手动启动BeginTransaction()事务后调用事务保存点,则是否会自动SaveChanges()创建事务保存点。 |
| AutoTransactionBehavior |
获取或设置一个值,该值指示如果尚未调用“BeginTransaction”和“UseTransaction”,是否会自动 SaveChanges() 创建事务。 |
| AutoTransactionsEnabled |
已过时.
已过时.
获取或设置一个值,该值指示如果未调用任何“BeginTransaction”或“UseTransaction”方法,是否会自动 SaveChanges() 创建事务。 |
| CurrentTransaction |
获取上下文正在使用的当前 IDbContextTransaction 值,如果未使用任何事务,则为 null。 |
| ProviderName |
返回当前正在使用的数据库提供程序的名称。 该名称通常是提供程序程序集的名称。 通常更容易使用糖方法,例如 Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer ,而不是直接调用此方法。 |
方法
| 名称 | 说明 |
|---|---|
| BeginTransaction() |
启动新事务。 |
| BeginTransactionAsync(CancellationToken) |
异步启动新事务。 |
| CanConnect() |
确定数据库是否可用且可连接到。 |
| CanConnectAsync(CancellationToken) |
确定数据库是否可用且可连接到。 |
| CommitTransaction() |
将当前事务中的未完成操作应用于数据库。 |
| CommitTransactionAsync(CancellationToken) |
将当前事务中的未完成操作应用于数据库。 |
| CreateExecutionStrategy() |
创建配置的 IExecutionStrategy实例。 |
| EnsureCreated() |
确保上下文的数据库存在。 |
| EnsureCreatedAsync(CancellationToken) |
确保上下文的数据库存在。 |
| EnsureDeleted() |
确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果它确实存在,则会删除数据库。 警告:将删除整个数据库,并且不努力仅删除模型用于此上下文的数据库对象。 |
| EnsureDeletedAsync(CancellationToken) |
异步确保上下文的数据库不存在。 如果不存在,则不执行任何操作。 如果它确实存在,则会删除数据库。 警告:将删除整个数据库,并且不努力仅删除模型用于此上下文的数据库对象。 |
| RollbackTransaction() |
放弃当前事务中的未完成操作。 |
| RollbackTransactionAsync(CancellationToken) |
放弃当前事务中的未完成操作。 |
显式接口实现
| 名称 | 说明 |
|---|---|
| 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 获取的,它不设计为直接在应用程序代码中构造。 |