Seit der Einführung von Entity Framework Code Only wird eine annehmbare Möglichkeit zur Migration vorab erstellter Datenbanken gesucht. Mit Entity Framework 4.1 Code First Migrations ist dies nun möglich. Aktuell ist die August CTP (obwohl noch Juli) released wurden.
Scott Hanselman hat in seinem Blog ausführlich über die das neue Paket berichtet.
In Visual Studio kann man mittels NuGet die Erweiterung einfach integrieren.
Um eine bestehende Datenbank zu aktualisieren und dabei die bestehenden Daten zu behalten, kann man über die Kommandozeile in Visual Studio den Befehl „update-database“ absetzen. Damit wird das aktuelle Modell mit dem in der Datenbank verglichen und die Anpassungen automatisch in der Datenbank umgesetzt. Dies geht natürlich nur bis zu einem bestimmten Grad.
Folgende Änderungen werden automatisch erkannt und aufgelöst:
- Hinzufügen von Klassen und Eigenschaften
- Entfernen von Eigenschaften
- Umbenennen von Klassen und Eigenschaften
- Umbenennen der Datenbanktabellen und -spalten mittels DataAnnotations im Modell
update-database -Script -ConnectionString "SERVER=.SQLEXPRESS;Database=PersonProd;Trusted_Connection=true;"