2013-10-05 5 views
15

Ziemlich langen Titel, aber hoffentlich selbsterklärend!Wie funktionieren Visual Studio 2013-Datenbankprojekte mit TFS online und EntityFramework Code erste Migrationen

Ich beginne ein neues Projekt in Visual Studio 2013 mit Entity Framework 5.0 mit Code ersten Migrationen.

Ich habe mein Projekt mit TFS Online über git verbunden - ich möchte TFS Online ausprobieren, da es Versionsverwaltung für 5 kostenlose Projekte bietet (ähnlich BitBucket), aber mit starker Visual Studio Integration.

Ich habe keine Datenbankprojekte in Visual Studio 2013 verwendet und ich habe wenig Informationen darüber gefunden, wie das alles zusammenpasst.

Was ich versuche zu erreichen, ist eine einfache Visual Studio-Lösung mit 2 Projekten zu erstellen - eines ein MVC .NET-Projekt und das andere ein Datenbankprojekt. Mein Ziel ist es, dass die ersten Code-Migrationen die notwendigen Änderungen an den SQL-Skripten im Datenbankprojekt vornehmen (die unter git source control verwaltet werden). Mein web.config verweist auf eine lokale MDB-Datei als meine Datenbank, die aktualisiert wird, wenn ich update-database in EF ausführe, was meiner Meinung nach das Problem ist.

Wie kann ich EF darauf hinweisen, mein Datenbankprojekt für die Codemigration zu verwenden und wie kann ich dann beim Debuggen meiner Lösung automatisch meine Entwicklungsdatenbank in eine lokale MDB-Datei umwandeln?

Antwort

16

Entity Framework Code Zuerst ist eine Möglichkeit, Ihr SQL-Schema zu verwalten. Die einzige Quelle der Wahrheit lebt in Ihrer Code-Basis. Migrationen fügt eine Möglichkeit hinzu, von einer Version des Schemas in eine andere zu wechseln. Das SQL-Schema ist ein Nebenprodukt des Build-Prozesses.

SQL Server-Datenbank-Projekte sind auch eine Möglichkeit, Ihr SQL-Schema zu verwalten. Die einzige Quelle der Wahrheit lebt in Ihrem SQL Server-Datenbankprojekt. Sie können den Schemavergleich verwenden, um Skripts zu generieren, die von einer Version in eine andere wechseln.

Da sich diese Technologien in ihrer Absicht und Funktionalität überschneiden, ist es nicht wirklich sinnvoll, sie zusammen zu verwenden. Wenn Sie den Entity Framework-Code verwenden, sollten Sie Migrationen so weit wie möglich nutzen (und wenn die Features für Ihre Situation ausreichen).

Wenn Sie Migrationen nicht verwenden können, können Sie mithilfe von SQL Server-Datenbankprojekten das Schema verwalten und in der Quellcodeverwaltung belassen.

Hinweis:

sollten Sie die SQL Server Data Tools als Ersatz für die SQL Server-Datenbankprojekte der Installation sollten Sie diese verwenden möchten. Die Datentools sind eine erweiterte Version dieser Projekte, selbst wenn Visual Studio 2012 erst einmal ausgeführt werden muss. Ich vermute, eine Version für Visual Studio 2013 wird verfügbar sein, wenn Visual Studio 2013 RTM

+0

Danke dafür, dann nehme ich an, dass ich nur eine lokale SQL-Server-Datenbank auf jedem meiner Dev-Maschinen und Update-Datenbank ausführen, um sie zu halten jedes Mal synchronisiert, wenn sich das Modell ändert, in welchem ​​Fall die Datenbank überhaupt nicht Teil von TFS Online ist? – Evonet

+0

Korrekt. Abhängig von Ihrem Projekttyp können Sie automatische Migrationen aktivieren: Führen Sie den Befehl 'Enable-Migrations -EnableAutomaticMigrations' in der Package Manager Console aus. – jessehouwing

Verwandte Themen