DbConfiguration.SetContextFactory<TContext> - метод (Func<TContext>)
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Вызов этого метода из конструктора класса, производного от класса DbConfiguration, позволяет задать фабрику, чтобы контекст DbContextInfo мог создавать экземпляры контекста, у которого нет открытого конструктора без параметров.
Пространство имен: System.Data.Entity
Сборка: EntityFramework (в EntityFramework.dll)
Синтаксис
'Декларация
Protected Friend Sub SetContextFactory(Of TContext As DbContext) ( _
factory As Func(Of TContext) _
)
'Применение
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.
Параметры типа
- TContext
Тип контекста, для которого следует использовать фабрику.
Параметры
- factory
Тип: System.Func<TContext>
Делегат, используемый для создания экземпляров контекста.
Примечания
Обычно это необходимо для того, чтобы средства, такие как миграции или шаблонный код, уже на этапе разработки могли использовать контексты, у которых нет открытых конструкторов без параметров. Этот метод обеспечивает удобное добавление и обнаружение конфигурации платформы Entity Framework. На уровне кода это работает так же, как и при использовании метода AddDependencyResolver для добавления соответствующего сопоставителя для функции Func<TResult> с контекстом Type в качестве ключа. Это означает, что при необходимости это же действие можно выполнить с помощью пользовательского сопоставителя или сопоставителя с опорой на контейнер обратного управления.