Как реализовать IDbContextFactory для использования с миграциями данных Entity Framework

Я пытаюсь использовать миграции данных Entity Framework, как описано в этот пост.

Однако, когда я пытаюсь выполнить шаг Enable-Migrations, я получаю следующую ошибку в консоли диспетчера пакетов:

The target context 'MyDataContext' is not constructible. Add a default constructor or provide an implementation of IDbContextFactory

Итак, я создал класс factory, который реализует IDbContextFactory в проекте, который содержит мой класс DbContext, но миграция данных, похоже, не распознает его.

Есть ли что-то, что я должен явно сделать, чтобы проинструктировать миграцию данных для использования этого класса factory?

Ответ 1

Я также попал в эту проблему, так как я написал свой контекст, чтобы взять имя строки подключения (а затем использовать ninject для его предоставления).

Процесс, который вы прошли, кажется правильным, вот фрагмент моей реализации класса, если он имеет любую помощь:

public class MigrationsContextFactory : IDbContextFactory<MyContext>
{
    public MyContext Create()
    {
        return new MyDBContext("connectionStringName");
    }
}

Это должно быть все, что вам нужно.