DbConfiguration 类

定义

派生自此类的类可以放置在与派生自 DbContext 的类相同的程序集中,以便为应用程序定义实体框架配置。 通过调用受保护的方法并在派生类型的构造函数中设置此类的受保护属性来设置配置。 要使用的类型也可以在应用程序的配置文件中注册。 有关 Entity Framework 配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260883

public class DbConfiguration
type DbConfiguration = class
Public Class DbConfiguration
继承
DbConfiguration

构造函数

DbConfiguration()

派生自 DbConfiguration 的任何类都必须具有公共无参数构造函数,并且该构造函数应调用此构造函数。

属性

DependencyResolver

获取 IDbDependencyResolver 用于解析实体框架中的服务依赖项的 。

方法

AddDefaultResolver(IDbDependencyResolver)

从派生自 DbConfiguration 的类的构造函数调用此方法,将实例添加到 IDbDependencyResolver 解析程序的责任链中,该解析程序用于解析实体框架所需的依赖项。 与 AddDependencyResolver 方法不同,此方法将冲突解决程序置于责任链的底部,以便它仅用于解析任何其他解析程序无法解析的依赖项。

AddDependencyResolver(IDbDependencyResolver)

从派生自 DbConfiguration 的类的构造函数调用此方法,将实例添加到 IDbDependencyResolver 解析程序的责任链中,该解析程序用于解析实体框架所需的依赖项。

AddInterceptor(IDbInterceptor)

从派生自 DbConfiguration 的类的构造函数调用此方法,以在应用程序启动时注册 IDbInterceptor 。 请注意,也可以使用 随时 DbInterception添加和删除侦听器。

Equals(Object)

派生自此类的类可以放置在与派生自 DbContext 的类相同的程序集中,以便为应用程序定义实体框架配置。 通过调用受保护的方法并在派生类型的构造函数中设置此类的受保护属性来设置配置。 要使用的类型也可以在应用程序的配置文件中注册。 有关 Entity Framework 配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260883

GetHashCode()

派生自此类的类可以放置在与派生自 DbContext 的类相同的程序集中,以便为应用程序定义实体框架配置。 通过调用受保护的方法并在派生类型的构造函数中设置此类的受保护属性来设置配置。 要使用的类型也可以在应用程序的配置文件中注册。 有关 Entity Framework 配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260883

GetType()

获取当前实例的 Type

LoadConfiguration(Assembly)

尝试从给定程序集中发现和加载 DbConfiguration 。 此方法旨在由工具使用,以确保将正确的配置加载到应用域中。 在访问 属性之前, DependencyResolver 工具应使用此方法。 如果工具知道 DbContext 正在使用的类型,则应 LoadConfiguration(Type) 使用 方法,因为它更有可能找到正确的配置。

LoadConfiguration(Type)

尝试发现并加载 DbConfiguration 与给定 DbContext 类型关联的 。 此方法旨在由工具使用,以确保将正确的配置加载到应用域中。 在访问 属性之前, DependencyResolver 工具应使用此方法。

MemberwiseClone()

创建当前 Object 的浅表副本。

SetConfiguration(DbConfiguration)

此应用域的 的单一 DbConfiguration 实例。 可以在使用任何实体框架功能之前在应用程序启动时进行设置,之后应将其视为只读。

SetContextFactory(Type, Func<DbContext>)

从派生自 DbConfiguration 的类的构造函数调用此方法,将工厂设置为允许 DbContextInfo 创建没有公共无参数构造函数的上下文实例。

SetContextFactory<TContext>(Func<TContext>)

从派生自 DbConfiguration 的类的构造函数调用此方法,将工厂设置为允许 DbContextInfo 创建没有公共无参数构造函数的上下文实例。

SetDatabaseInitializer<TContext>(IDatabaseInitializer<TContext>)

从派生自 DbConfiguration 的类的构造函数调用此方法,以设置要用于给定上下文类型的数据库初始值设定项。 首次使用给定 DbContext 类型访问数据库时,将调用数据库初始值设定项。 Code First 上下文的默认策略是 的 CreateDatabaseIfNotExists<TContext>实例。

SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)

从派生自 DbConfiguration 的类的构造函数中调用此方法,为 的类型设置与 一起使用LogDatabaseLogFormatter工厂。

SetDefaultConnectionFactory(IDbConnectionFactory)

IDbConnectionFactory如果没有为 或 提供其他连接字符串或连接,DbContext则设置用于按约定创建连接的 。 请注意,每当安装 EntityFramework NuGet 包时,app.config 或 web.config 文件中会设置默认连接工厂。 对于所有配置文件设置,配置文件中设置的默认连接工厂将优先于使用此方法进行的任何设置。 因此,在调用此方法之前,必须从配置文件中删除该设置。 从派生自 DbConfiguration 的类的构造函数调用此方法,以更改使用的默认连接工厂。

SetDefaultHistoryContext(Func<DbConnection,String,HistoryContext>)

从派生自 DbConfiguration 的类的构造函数调用此方法,以设置一个Func<T1,T2,TResult>委托,该委托用于创建任何 DbMigrationsConfiguration的默认值HistoryContext。 仅当未在 中 DbMigrationsConfiguration 显式设置工厂,并且尚未使用 SetHistoryContext(String, Func<DbConnection,String,HistoryContext>) 方法为正在使用的提供程序注册任何工厂时,才会使用此默认工厂。

SetDefaultSpatialServices(DbSpatialServices)

从派生自 DbConfiguration 的类的构造函数中调用此方法,以设置当需要空间提供程序且找不到特定于提供程序的空间提供程序时,将使用的全局实例 DbSpatialServices 。 通常,特定于提供程序的空间提供程序是从 DbProviderServices 实现中获取的,而实现又通过解析用于将提供程序固定名称作为键传递的服务 DbSpatialServices 返回。 但是,这不适用于 和 的独立实例,DbGeometryDbGeography因为无法知道空间提供程序是否使用。 因此,在创建 和 的独立实例DbGeometryDbGeography时,始终使用全局空间提供程序。

SetDefaultTransactionHandler(Func<TransactionHandler>)

从派生自 DbConfiguration 的类的构造函数调用此方法以注册 TransactionHandler

SetExecutionStrategy(String, Func<IDbExecutionStrategy>)

从派生 DbConfiguration 自 的类的构造函数调用此方法,以注册 IDbExecutionStrategy ,以便与给定固定名称表示的提供程序一起使用。

SetExecutionStrategy(String, Func<IDbExecutionStrategy>, String)

从派生 DbConfiguration 自 的类的构造函数中调用此方法,以注册 IDbExecutionStrategy ,以便与给定固定名称表示的提供程序和给定服务器名称一起使用。

SetHistoryContext(String, Func<DbConnection,String,HistoryContext>)

从派生自 DbConfiguration 的类的构造函数调用此方法以设置委托Func<T1,T2,TResult>,该委托允许为没有显式工厂集的任何DbMigrationsConfiguration给定提供程序创建自定义HistoryContext的 。

SetManifestTokenResolver(IManifestTokenResolver)

从派生自 DbConfiguration 的类的构造函数调用此方法,以设置 的 IManifestTokenResolver 实现,该实现允许从连接获取提供程序清单令牌,而无需打开连接。

SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>)

从派生自 DbConfiguration 的类的构造函数中调用此方法,以便为 的实现 IMetadataAnnotationSerializer 设置工厂,从而允许实例表示 MetadataProperty 的自定义注释序列化为 EDMX XML 和从 EDMX XML 序列化。

SetMigrationSqlGenerator(String, Func<MigrationSqlGenerator>)

从派生自 DbConfiguration 的类的构造函数调用此方法,以注册 MigrationSqlGenerator ,以便与给定固定名称表示的提供程序一起使用。

SetModelCacheKey(Func<DbContext,IDbModelCacheKey>)

从派生自 DbConfiguration 的类的构造函数中调用此方法,将 设置为 Func<T,TResult> 模型缓存密钥工厂,该工厂允许更改用于在 后面 DbContext 缓存模型的密钥。

SetModelStore(DbModelStore)

(持久化模型缓存) 设置单一实例模型存储实现。

SetPluralizationService(IPluralizationService)

从派生自 DbConfiguration 的类的构造函数调用此方法以设置复数化服务。

SetProviderFactory(String, DbProviderFactory)

从派生自 DbConfiguration 的类的构造函数调用此方法,以注册 ADO.NET 提供程序。

SetProviderFactoryResolver(IDbProviderFactoryResolver)

从派生自 DbConfiguration 的类的构造函数中调用此方法,以设置 的 IDbProviderFactoryResolver 实现,该实现允许 DbProviderFactory 在默认实现不足的情况下从 DbConnection 获取 。

SetProviderServices(String, DbProviderServices)

从派生自 DbConfiguration 的类的构造函数调用此方法以注册实体框架提供程序。

SetSpatialServices(DbProviderInfo, DbSpatialServices)

从派生自 DbConfiguration 的类的构造函数调用此方法,以设置 要用于特定提供程序和提供程序清单令牌的 DbSpatialServices 的实现。

SetSpatialServices(String, DbSpatialServices)

从派生自 DbConfiguration 的类的构造函数调用此方法,以设置 要用于具有任何清单令牌的特定提供程序的 DbSpatialServices 实现。

SetTableExistenceChecker(String, TableExistenceChecker)

从派生自 DbConfiguration 的类的构造函数调用此方法,为给定提供程序注册数据库表存在检查器。

SetTransactionHandler(String, Func<TransactionHandler>)

从派生自 DbConfiguration 的类的构造函数调用此方法,以注册 TransactionHandler ,以便与给定固定名称表示的提供程序一起使用。

SetTransactionHandler(String, Func<TransactionHandler>, String)

从派生 DbConfiguration 自 的类的构造函数调用此方法,以注册 TransactionHandler ,以便与给定固定名称表示的提供程序和给定服务器名称一起使用。

ToString()

派生自此类的类可以放置在与派生自 DbContext 的类相同的程序集中,以便为应用程序定义实体框架配置。 通过调用受保护的方法并在派生类型的构造函数中设置此类的受保护属性来设置配置。 要使用的类型也可以在应用程序的配置文件中注册。 有关 Entity Framework 配置的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260883

事件

Loaded

在 EF 初始化期间,在 DbConfiguration 已构造之后,但就在它锁定并可供使用之前发生。 使用此事件可以检查和/或替代在锁定配置之前已注册的服务。 请注意,应谨慎使用此事件,因为它可能会阻止工具发现运行时使用的相同配置。

适用于