Freigeben über


DbConfiguration.SetContextFactory<TContext>-Methode (Func<TContext>)

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Rufen Sie diese Methode vom Konstruktor einer Klasse auf, die von DbConfiguration abgeleitet ist, um DbContextInfo die Erstellung von Instanzen eines Kontext zu erlauben, der keinen öffentlichen, parameterlosen Konstruktor hat.

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
Protected Friend Sub SetContextFactory(Of TContext As DbContext) ( _
    factory As Func(Of TContext) _
)
'Usage
Dim factory As Func(Of TContext)

Me.SetContextFactory(factory)
protected internal void SetContextFactory<TContext>(
    Func<TContext> factory
)
where TContext : DbContext
protected public:
generic<typename TContext>
where TContext : DbContext 
void SetContextFactory(
    Func<TContext>^ factory
)
member SetContextFactory : 
        factory:Func<'TContext> -> unit   when 'TContext : DbContext
JScript does not support generic types and methods.

Typparameter

  • TContext
    Der Kontexttyp, für den die Factory verwendet werden soll.

Parameter

  • factory
    Typ: System.Func<TContext>
    Ein Delegat zur Erzeugung von Kontext-Instanzen.

Hinweise

Hiermit wird üblicherweise Designwerkzeugen wie Migrations- oder Gerüstcode die Verwendung von Kontexten erlaubt, die keine öffentlichen, parameterlosen Konstruktoren haben. Diese Methode wird als einfache und sichtbare Möglichkeit verwendet, Entity Framework Konfigurationen hinzuzufügen. Intern funktioniert sie auf die gleiche Weise wie AddDependencyResolver, um einen entsprechenden Resolver für Func<TResult> mit dem Kontext Type als Schlüssel hinzuzufügen. Dies bedeutet, dass bei Bedarf die gleiche Funktionalität mithilfe eines benutzerdefinierten Resolvers oder eines Resolvers, der von einem Steuerungsumkehrungs-Container unterstützt wird, erzielt werden kann.

Siehe auch

Verweis

DbConfiguration Klasse

SetContextFactory-Überladung

System.Data.Entity-Namespace