2013-10-05 7 views
15

Titolo abbastanza lungo, ma si spera che si spieghi da sé!Come funzionano i progetti di database di Visual Studio 2013 con TFS online e le migrazioni di codice EntityFramework per la prima volta

Sto avviando un nuovo progetto in Visual Studio 2013 utilizzando Entity Framework 5.0 con le migrazioni di prima del codice.

Ho collegato il mio progetto a TFS Online utilizzando git - Sono interessato a provare TFS Online in quanto offre la gestione del controllo del codice sorgente per 5 progetti gratuiti (simili a BitBucket) ma con una forte integrazione di Visual Studio.

Non ho utilizzato i progetti di database in Visual Studio 2013 e ho trovato poche informazioni su come tutto ciò si combina perfettamente.

Quello che sto cercando di ottenere è creare una semplice soluzione di Visual Studio con 2 progetti: uno un progetto MVC .NET e l'altro un progetto di database. Il mio obiettivo è che le prime migrazioni di codice apporteranno le necessarie modifiche agli script sql nel progetto di database (che sono gestiti con git source control). My web.config punta a un file .mdb locale come database che è ciò che viene aggiornato quando eseguo update-database in EF, che è quello che ritengo sia il problema.

Come posso indicare EF per utilizzare il mio progetto di database per la migrazione del codice e successivamente come posso creare automaticamente il mio database di sviluppo in un file .mdb locale durante il debug della mia soluzione?

risposta

16

Codice quadro entità Primo è un modo per gestire lo schema SQL. L'unica fonte della verità vive nella tua base di codice. Le migrazioni aggiungono un modo per passare da una versione dello schema a un'altra. Lo schema SQL è un sottoprodotto del processo di compilazione.

I progetti di database SQL Server sono anche un modo per gestire lo schema SQL. L'unica fonte della verità risiede nel progetto del database SQL Server. È possibile utilizzare lo schema compare per generare script che passano da una versione all'altra.


Dato che queste tecnologie si sovrappongono nel loro intento e funzionalità, in realtà non ha senso utilizzare insieme. Quando utilizzi il codice del framework dell'entità per primo, sfrutta le Migrazioni quando puoi (e quando le funzionalità sono sufficienti per la tua situazione).

Quando non è possibile utilizzare Migrazioni, è possibile utilizzare i progetti di database di SQL Server per gestire lo schema e mantenerli nel controllo del codice sorgente.

Nota:

Si dovrebbe prendere in considerazione l'installazione del SQL Server Data Tools come una sostituzione per i progetti di database SQL Server dovrebbe si desidera utilizzare questi. Gli strumenti di dati sono una versione più avanzata di questi progetti, anche se potrebbero richiedere l'esecuzione di Visual Studio 2012 per ora. Sospetto che una versione per Visual Studio 2013 sarà disponibile quando Visual Studio 2013 raggiungerà RTM

+0

Grazie per questo, presumo quindi che ho solo un database SQL server locale su ciascuna delle mie macchine dev ed eseguo database di aggiornamento per tenerli in sincrono ogni volta che il modello cambia, nel qual caso il database non fa parte di TFS online? – Evonet

+0

corretto. A seconda del tipo di progetto, è possibile abilitare le migrazioni automatiche: eseguire il comando 'Enable-Migrations -EnableAutomaticMigrations' nella console di Gestione pacchetti. – jessehouwing

Problemi correlati