Можно ли встраивать зависимости в класс конфигурации Entity Framework 6?
Например, например:
internal sealed class Configuration : DbMigrationsConfiguration<MyBaseContext>
{
private readonly ILogger _logger;
public Configuration(ILogger logger)
{
this._logger = logger;
AutomaticMigrationsEnabled = true;
}
protected override void Seed(Home.DAL.Data.HomeBaseContext context)
{
//log something
}
}
Или более общий подход заключается в том, чтобы получить возможность вводить код даже внутри миграций:
public partial class InitialMigration : DbMigration
{
private readonly ILogger _logger;
public InitialMigration(ILogger logger)
{
this._logger = logger;
}
public override void Up()
{
CreateTable(...);
}
public override void Down()
{
DropTable(...);
}
}
Где инициализация DI происходит в Entity Framework 6 для определения этих привязок?
UPDATE
Я не спрашиваю о том, что я должен использовать. В настоящее время я использую Ninject, но это не может быть и речи, потому что, что бы я ни использовал, я должен был бы вставлять dependecies в конструктор миграции. Если вы пишете что-то вроде того, что я написал в примере выше, он просто выкинет вам исключение из "конструктора по умолчанию".
ILogger в приведенном выше примере - просто простой пример зависимости. Дела идут хуже, если у вас есть IGeneratorService, который будет генерировать некоторые данные, и вы хотите использовать эту службу для генерации данных для метода Seed.