Entity Framework 6 löst eine Migrationsausnahme aus, wenn versucht wird, mit Effort einen Kontext zu erstellen


Frage

Ich versuche, Aufwand zu verwenden, um meine Anwendung zu testen, aber wenn Code-First-Migrationen für den Kontext aktiviert sind, wird die folgende Ausnahme ausgelöst:

System.InvalidOperationException: Migrationen ist für den Kontext 'XDbContext' aktiviert, die Datenbank ist jedoch nicht vorhanden oder enthält keine zugeordneten Tabellen. Verwenden Sie Migrationen, um die Datenbank und ihre Tabellen zu erstellen, z. B. indem Sie den Befehl 'Update-Database' in der Package Manager Console ausführen.

Wenn ich Migrationen deaktiviere, funktioniert alles einwandfrei.

Wie verhindere ich, dass die Entität die Migrationen für die Zwecke meiner Tests berücksichtigt?

Beliebte Antwort

Ich habe den gleichen Fehler in meinem Unit-Test-Projekt erhalten. Ich löste es, indem ich die Funktion TestInitialize durch Aufrufen der Funktion CreateIfNotExist () änderte

    [TestInitialize]
    public void Initialize()
    {
        DbConnection connection = Effort.DbConnectionFactory.CreateTransient();

        context = new MyAccessContext(connection);
        context.Database.CreateIfNotExists();
        service = new YourClass(context);
    }




Lizenziert unter: CC-BY-SA
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum