Jak zaimplementować IDbContextFactory do użytku z migracjami danych Entity Framework

Próbuję użyć migracji danych Entity Framework, jak opisano w ten post .

Jednak, gdy próbuję wykonać krok Enable-Migrations, w konsoli Menedżera pakietów pojawia się następujący błąd:

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

Więc, stworzyłem klasę factory, która implementuje IDbContextFactory w projekcie, który zawiera moją klasę DbContext, ale migracje danych nie wydają się ją rozpoznawać.

Czy jest coś, co powinienem wyraźnie zrobić, aby polecić migracje danych, aby używały tej fabryki zajęcia?

Author: Majid, 2012-07-09

1 answers

Uderzyłem również w ten problem, gdy pisałem mój kontekst, aby przyjąć nazwę Łańcucha połączenia (a następnie użyłem ninject, aby go podać).

Proces, przez który przeszedłeś wydaje się prawidłowy, oto fragment implementacji mojej klasy, jeśli jest to w jakikolwiek sposób pomocne:

public class MigrationsContextFactory : IDbContextFactory<MyContext>
{
    public MyContext Create()
    {
        return new MyDBContext("connectionStringName");
    }
}
To powinno wystarczyć.
 58
Author: dougajmcdonald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-31 20:21:58