Diese Antwort basiert auf meinen Kenntnissen in EF4.3, daher hoffe ich, dass die Migrationen in EF5 ungefähr gleich funktionieren :) Nachdem Sie eine Migration erstellt haben, sollten Sie in der Lage sein, Code in den Up- und Down-Methoden zwischen hinzuzufügen das Löschen des alten Eigentums und die Schaffung des neuen Eigentums. Dieser Code sollte die Eigenschaftsdaten in die richtige Richtung verschieben. Ich habe es mit der SQL () -Methode gelöst, bei der Sie Roh-SQL eingeben können, um die Datenverschiebung durchzuführen.
In der Up-Methode der Migration:
SQL("update [TheTable] set [NewColumn] = [OldColumn]");
und in der Down () -Methode:
SQL("update [TheTable] set [OldColumn] = [NewColumn]");
Der Nachteil dieses Ansatzes besteht darin, dass Sie Ihren Code möglicherweise mit der Datenbank koppeln, mit der Sie gerade arbeiten (da Sie rohes DB-spezifisches SQL schreiben). Möglicherweise stehen auch andere Methoden für die Datenverschiebung zur Verfügung.
Weitere Informationen finden Sie hier: MSDN
RenameColumn
generiert einesp_rename
T-SQL-Anweisung, dieparsename
interne Verwendungen verwendet, die einige Einschränkungen aufweisen. Wenn Sie also einen Tabellennamen haben, der Punkte enthält, z. B. "SubSystemA.Tabellenname", verwenden Sie:RenameColumn("dbo.[SubSystemA.Tablename]", "OldColumnName", "NewColumnName");