2017-06-22 2 views
1

In Entity Framework 6 konnten Sie einen ContextKey für einen DbContext angeben, so dass bei der Verwendung einer Datenbank für mehrere DbContexte die Migrationstabelle wusste, welche Migration auf welchen DbContext abzielte.Entity Framework Core Mutiple DbContext Migrationen in derselben Datenbank

Ich habe die letzten paar Stunden damit verbracht, herauszufinden, wie Sie dasselbe in Entity Framework Core erreichen, aber ich habe es nicht ausgearbeitet und die Dokumentation fehlt.

Die neue Migrationstabelle in EF Core hat nur zwei Spalten - MigrationId, ProductVersion.

Ich dachte, HasDefaultSchema war die Antwort, scheint aber nicht zu sein.

Ideen?

Antwort

3

Zuvor hat Entity Framework einen Snapshot des Modells in der Datenbank gespeichert. Dies führte dazu, dass Entity Framework die Datenbank jedes Mal abfragen musste, um herauszufinden, welche Migrationen bereits ausgeführt wurden.

In EF7 wird der Migrationsverlauf in einem Snapshot im Code gespeichert (zusammen mit den vorhandenen Migrationen, die im bekannten Migrations-Ordner gespeichert sind).

Jedes Mal, wenn Sie das Modell aktualisieren und eine Migration erstellen, wird die Snapshot-Datei aktualisiert. Daher ist kein ContextKey erforderlich, der in früheren Versionen von Entity Framework verwendet wurde.

Schön.

Verwandte Themen