DbConfiguration 类

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

从该类派生的类可与从 DbContext 派生的类放置在同一个程序集中,以便定义应用程序的实体框架配置。 通过调用受保护的方法并且在派生类型的构造函数中设置该类的受保护的属性,对配置进行设置。 还可以在应用程序的配置文件中注册要使用的类型。 有关实体框架配置的更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=260883。

继承层次结构

System.Object
  System.Data.Entity.DbConfiguration

命名空间:  System.Data.Entity
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
Public Class DbConfiguration
用法
Dim instance As DbConfiguration
public class DbConfiguration
public ref class DbConfiguration
type DbConfiguration =  class end
public class DbConfiguration

DbConfiguration 类型公开以下成员。

构造函数

  名称 描述
受保护的方法 DbConfiguration 初始化 DbConfiguration 类的新实例。

顶部

属性

  名称 描述
公共属性静态成员 DependencyResolver 获取要用于解析实体框架中的服务依赖项的 IDbDependencyResolver

顶部

方法

  名称 描述
受保护的方法 AddDefaultResolver IDbDependencyResolver 实例添加到用于解决实体框架所需依赖项的解决程序的责任链中。
受保护的方法 AddDependencyResolver IDbDependencyResolver 实例添加到用于解决实体框架所需依赖项的解决程序的责任链中。
受保护的方法 AddInterceptor 在应用程序启动时注册 IDbInterceptor。请注意,还可使用 DbInterception 随时添加和删除侦听器。
公共方法 Equals 指定此实例是否等于指定对象。 (重写 Object.Equals(Object)。)
受保护的方法 Finalize (继承自 Object。)
公共方法 GetHashCode 获取与此实例关联的哈希代码。 (重写 Object.GetHashCode()。)
公共方法 GetType 获取当前实例的 Type
公共方法静态成员 LoadConfiguration(Assembly) 尝试从给定程序集发现和加载 DbConfiguration。此方法应由工具使用以确保将正确配置加载到应用程序域中。工具应在访问 DependencyResolver 属性之前使用此方法。如果工具知道要使用的 DbContext 类型,则应使用 LoadConfiguration(Type) 方法,因为这会增加找到正确配置的机会。
公共方法静态成员 LoadConfiguration(Type) 尝试发现和加载与给定 DbContext 类型关联的 DbConfiguration。此方法应由工具使用以确保将正确配置加载到应用程序域中。工具应在访问 DependencyResolver 属性之前使用此方法。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。
公共方法静态成员 SetConfiguration 此应用程序域的 DbConfiguration 的单一实例。可以在使用任何实体框架功能之前在应用程序启动时对此进行设置,并且在之后应被视作只读的。
受保护的方法 SetContextFactory(Type, Func<DbContext>) 从派生自 DbConfiguration 的类的构造函数调用此方法以设置工厂,从而允许 DbContextInfo 创建不具有公共无参数构造函数的上下文的实例。
受保护的方法 SetContextFactory<TContext>(Func<TContext>) 从派生自 DbConfiguration 的类的构造函数调用此方法以设置工厂,从而允许 DbContextInfo 创建不具有公共无参数构造函数的上下文的实例。
受保护的方法 SetDatabaseInitializer<TContext> 从自 DbConfiguration 派生的类的构造函数调用此方法,以便设置要用于给定上下文类型的数据库初始值。当给定的 DbContext 类型首次用于访问数据库时调用数据库初始值设定项。Code First 上下文的默认策略是 CreateDatabaseIfNotExists<TContext> 的实例。
受保护的方法 SetDatabaseLogFormatter 从派生自 DbConfiguration 的类的构造函数调用此方法,以为 DatabaseLogFormatter 的类型设置要与 Log 一起使用的工厂。
受保护的方法 SetDefaultConnectionFactory 设置 IDbConnectionFactory,它用于在没有提供或没有可由 DbContext 发现的其他连接字符串或连接的情况下按照约定创建连接。请注意,只要安装了 EntityFramework NuGet 包,就可以在 app.config 或 web.config 文件中设置默认连接工厂。与所有配置文件设置一样,在配置文件中设置的默认连接工厂将优先于使用此方法进行的任何设置。因此,必须首先从配置文件中删除该设置,然后调用此方法才会起作用。从自 DbConfiguration 派生的类的构造函数调用此方法,以便更改要使用的默认连接工厂。
受保护的方法 SetDefaultHistoryContext 从派生自 DbConfiguration 的类的构造函数调用此方法,以设置一个 Func<T1, T2, TResult> 委托,该委托将用于为任何 DbMigrationsConfiguration 创建默认 HistoryContext。仅当 DbMigrationsConfiguration 中没有显式设置工厂且没有使用 SetHistoryContext(String, Func<DbConnection, String, HistoryContext>) 方法为正在使用的提供程序注册工厂时,才会使用此默认工厂。
受保护的方法 SetDefaultSpatialServices 从派生自 DbConfiguration 的类的构造函数调用此方法,以设置将在需要空间提供程序且无法找到特定于提供程序的空间提供程序时使用的 DbSpatialServices 的全局实例。通常,特定于提供程序的空间提供程序是从 DbProviderServices 实现中获取的,通过解析 DbSpatialServices 的服务以将提供程序固定名称作为键传递,可返回此实现。但是,这并不适用于 DbGeometryDbGeography 的独立实例,因为无法知道要使用的空间提供程序。因此,在创建 DbGeometryDbGeography 的独立实例时会始终使用全局空间提供程序。
受保护的方法 SetDefaultTransactionHandler 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册 TransactionHandler
受保护的方法 SetExecutionStrategy(String, Func<IDbExecutionStrategy>) 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册要用于给定固定名称所表示的提供程序的 IDbExecutionStrategy
受保护的方法 SetExecutionStrategy(String, Func<IDbExecutionStrategy>, String) 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册要用于给定固定名称所表示的提供程序及给定服务器名称的 IDbExecutionStrategy
受保护的方法 SetHistoryContext 从派生自 DbConfiguration 的类的构造函数调用此方法,以设置一个 Func<T1, T2, TResult> 委托,该委托允许为不具有显式工厂集的任何 DbMigrationsConfiguration 的给定提供程序创建自定义的 HistoryContext
受保护的方法 SetManifestTokenResolver 从自 DbConfiguration 派生的类的构造函数调用此方法,以便设置 IManifestTokenResolver 的实现,该实现允许无需打开连接即可从连接获取提供程序清单标记。
受保护的方法 SetMetadataAnnotationSerializer 从派生自 DbConfiguration 的类的构造函数调用此方法,以便为 IMetadataAnnotationSerializer 的实现设置工厂,从而允许将 MetadataProperty 实例所表示的自定义注释序列化到 EDMX XML 以及从中进行序列化。
受保护的方法 SetMigrationSqlGenerator 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册要用于给定固定名称所表示的提供程序的 MigrationSqlGenerator
受保护的方法 SetModelCacheKey 从派生自 DbConfiguration 的类的构造函数调用此方法,以便将 Func<T, TResult> 设置为模型缓存键工厂,该工厂允许使用键来缓存要更改的 DbContext 后的模型。
受保护的方法 SetPluralizationService 从自 DbConfiguration 派生的类的构造函数调用此方法,以便设置复数形式服务。
受保护的方法 SetProviderFactory 从自 DbConfiguration 派生的类的构造函数调用此方法,以便注册 ADO.NET 提供程序。
受保护的方法 SetProviderFactoryResolver 从自 DbConfiguration 派生的类的构造函数调用此方法,以便设置 IDbProviderFactoryResolver 的实现,该实现允许在默认实现不足的情况下从 DbConnection 获取 DbProviderFactory
受保护的方法 SetProviderServices 从自 DbConfiguration 派生的类的构造函数调用此方法,以便注册实体框架提供程序。
受保护的方法 SetSpatialServices(String, DbSpatialServices) 从派生自 DbConfiguration 的类的构造函数调用此方法,以设置要用于具有任何清单标记的特定提供程序的 DbSpatialServices 的实现。
受保护的方法 SetSpatialServices(DbProviderInfo, DbSpatialServices) 从派生自 DbConfiguration 的类的构造函数调用此方法,以设置要用于特定提供程序和提供程序清单标记的 DbSpatialServices 的实现。
受保护的方法 SetTableExistenceChecker 从自 DbConfiguration 派生的类的构造函数调用此方法,以注册给定提供程序的数据库表的存在检查器。
受保护的方法 SetTransactionHandler(String, Func<TransactionHandler>) 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册要用于给定固定名称所表示的提供程序的 TransactionHandler
受保护的方法 SetTransactionHandler(String, Func<TransactionHandler>, String) 从派生自 DbConfiguration 的类的构造函数调用此方法,以注册要用于给定固定名称所表示的提供程序及给定服务器名称的 TransactionHandler
公共方法 ToString 返回此实例的字符串表示形式。 (重写 Object.ToString()。)

顶部

事件

  名称 描述
公共事件静态成员 Loaded 在 DbConfiguration 已构造后、但在锁定可供使用之前在 EF 初始化过程中发生。

顶部

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity 命名空间