Zweck und Semantik der IMigrationMetadata-Schnittstelle in Entity Framework

Ich versuche herauszufinden, was die Semantik von System.Data.Entity.Migrations.Infrastructure.IMigrationMetadata-Schnittstelle in der EF ist. Ich weiß, dass es zum Verwalten und Anwenden von DB-Migrationen verwendet wird. Aber ich kann keine detaillierten Informationen darüber finden. Um genau zu sein, würde ich gerne wissen:

Wofür wird die Source-Eigenschaft verwendet? Warum ist es immer null, wenn ich Migrationen mithilfe von Tools generiere?Wofür wird die Target-Eigenschaft verwendet? Ich sehe, dass Tools etwas Base64-artiges generieren und in Ressourcen platzieren. Was ist es? Warum wird es in einem solchen nicht-freundlichen Format generiert?Ist es möglich, die Migration manuell ohne den Einsatz von Tools zu entwickeln? Ich nehme an, es ist nicht einfach, weil der Base64-ähnliche Wert der Target-Eigenschaft irgendwie generiert werden sollte. Habe ich recht?Wann wird diese Schnittstelle tatsächlich genutzt? Im Moment habe ich festgestellt, dass Migrationen, die diese Schnittstelle nicht implementieren, von migrator nicht automatisch gefunden werden können. Habe ich recht? Ist es der einzige Zweck der Schnittstelle?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage