DbConfiguration.SetContextFactory メソッド (Type, Func<DbContext>)
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
DbConfiguration から派生したクラスのコンストラクターからこのメソッドを呼び出して、パラメーターなしのパブリック コンストラクターのないコンテキストのインスタンスを DbContextInfo で作成できるようにするファクトリを設定します。
名前空間: System.Data.Entity
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Protected Friend Sub SetContextFactory ( _
contextType As Type, _
factory As Func(Of DbContext) _
)
'使用
Dim contextType As Type
Dim factory As Func(Of DbContext)
Me.SetContextFactory(contextType, _
factory)
protected internal void SetContextFactory(
Type contextType,
Func<DbContext> factory
)
protected public:
void SetContextFactory(
Type^ contextType,
Func<DbContext^>^ factory
)
member SetContextFactory :
contextType:Type *
factory:Func<DbContext> -> unit
function SetContextFactory(
contextType : Type,
factory : Func<DbContext>
)
パラメーター
- contextType
型 : System.Type
ファクトリが使用されるコンテキスト型。
- factory
型 : System.Func<DbContext>
コンテキスト インスタンスを作成するために使用するデリゲート。
解説
これが通常必要になるのは、Migrations やスキャフォールディング コードのようなデザイン時ツールで、パラメーターなしのパブリック コンストラクターのないコンテキストを使用できるようにするためです。 このメソッドは、Entity Framework に構成を追加するための便利で検出可能な方法として用意されています。 内部的には、AddDependencyResolver を使用してコンテキスト Type で Func<TResult> の適切なリゾルバーをキーとして追加する場合と同じように機能します。 つまり、必要に応じて、カスタム リゾルバーまたは制御の反転コンテナーによってサポートされるリゾルバーを使用して同じ機能を実現できます。