DbConfiguration.SetContextFactory 方法

定义

重载

SetContextFactory(Type, Func<DbContext>)

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

SetContextFactory<TContext>(Func<TContext>)

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

SetContextFactory(Type, Func<DbContext>)

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

protected internal void SetContextFactory (Type contextType, Func<System.Data.Entity.DbContext> factory);
member this.SetContextFactory : Type * Func<System.Data.Entity.DbContext> -> unit
Protected Friend Sub SetContextFactory (contextType As Type, factory As Func(Of DbContext))

参数

contextType
Type

应为其使用工厂的上下文类型。

factory
Func<DbContext>

用于创建上下文实例的委托。

注解

通常需要这样才能允许设计时工具(如迁移或基架代码)使用没有公共无参数构造函数的上下文。 提供此方法是向实体框架添加配置的便捷且可发现的方式。 在内部,它的工作方式与使用 AddDependencyResolver 添加 Func<TResult> 适当的解析程序的方式相同,并将上下文 Type 作为键。 这意味着,如果需要,可以使用自定义冲突解决程序或由控制反转容器支持的解析程序来实现相同的功能。

适用于

SetContextFactory<TContext>(Func<TContext>)

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

protected internal void SetContextFactory<TContext> (Func<TContext> factory) where TContext : System.Data.Entity.DbContext;
member this.SetContextFactory : Func<'Context (requires 'Context :> System.Data.Entity.DbContext)> -> unit (requires 'Context :> System.Data.Entity.DbContext)
Protected Friend Sub SetContextFactory(Of TContext As DbContext) (factory As Func(Of TContext))

类型参数

TContext

应为其使用工厂的上下文类型。

参数

factory
Func<TContext>

用于创建上下文实例的委托。

注解

通常需要这样才能允许设计时工具(如迁移或基架代码)使用没有公共无参数构造函数的上下文。 提供此方法是向实体框架添加配置的便捷且可发现的方式。 在内部,它的工作方式与使用 AddDependencyResolver 添加 Func<TResult> 适当的解析程序的方式相同,并将上下文 Type 作为键。 这意味着,如果需要,可以使用自定义冲突解决程序或由控制反转容器支持的解析程序来实现相同的功能。

适用于