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>
Делегат, используемый для создания экземпляров контекста.
Примечания
Обычно это необходимо для того, чтобы средства, такие как миграции или шаблонный код, уже на этапе разработки могли использовать контексты, у которых нет открытых конструкторов без параметров. Этот метод обеспечивает удобное добавление и обнаружение конфигурации платформы Entity Framework. На уровне кода это работает так же, как и при использовании метода AddDependencyResolver для добавления соответствующего сопоставителя для функции Func<TResult> с контекстом Type в качестве ключа. Это означает, что при необходимости это же действие можно выполнить с помощью пользовательского сопоставителя или сопоставителя с опорой на контейнер обратного управления.