2017-04-02 6 views
0

Ich möchte ein Laufzeitmigrationssystem erstellen. Nach dem Blick auf EF Core-Quellcode erkannte ich, dass MigrationsScaffolder gehen Up und Down-Operationen als Liste von MigrationOperation dann übergeben Sie es an MigrationCodeGenerator. In diesem Punkt ist jeder Weg, dass Ausführen "MigrationOperation" anstelle von Code generieren ???Wie wird MigrationOperation stattdessen als Textcode gespeichert?

Antwort

1

Die Migrator verwandelt sie wieder in MigrationOperation Objekte von Up (oder Down) und führt sie ruft.

Der RelationalDatabaseCreator generiert und führt sie auch direkt aus.

+0

Ich verstehe, dass IModel (current) und Snapshot und Modell Metadaten für die Generierung von Migration gleich ist. Ist das wahr??? –

+1

Ich verstehe die Frage nicht, aber ... Der Unterschied zwischen dem aktuellen Modell und dem Modell-Snapshot wird verwendet, um eine neue Migration zu generieren. Das Metadatenmodell der Migration wird von Migrationen für zusätzlichen Kontext verwendet, es wird jedoch nicht garantiert, dass es das Zielmodell darstellt. – bricelam

Verwandte Themen