Domanda

Ho creato un modello di database con il metodo Model-First utilizzando Entity Framework 4.0. Poi ho creato uno script SQL utilizzando il Genera database da modello ... Ho anche creato un file di database di SQL Server nella mia cartella App_Data. Come faccio ora eseguire il file SQL contro questo file MDF?

Sto usando Visual Studio 2010.

È stato utile?

Soluzione 2

Ho trovato una soluzione, ma è un po 'hacky.

Ho SQL Server Express (2008 R2). Così, quando la generazione del database dal modello mi collego ad esso e lo lascio costruire un database di lì. Poi vado a C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA. La parte 10_50 è a causa della versione e può essere diverso per voi. Quindi, in questa cartella c'è un file mdf chiamato proprio come il database - Mdf. C'è anche un file _log.ldf. Ho copiato questi per nella cartella App_Data del mio progetto.

Questo funziona ma richiede molto tempo per generare un nuovo database .mdf per ogni modifica del modello. Quindi lo faccio appena prima della spedizione.

Se si trova una risposta migliore si prega di fare la parte.

Altri suggerimenti

mi sono imbattuto in questo stesso problema e qui è ciò che ha funzionato per me.

Quando ho selezionato "Genera database dal modello ..." Ho creato un nuovo file MDF. Questo processo ha funzionato bene e Visual Studio ha generato lo script SQL necessario. Tuttavia, non sapevo come collegare allo stesso file MDF per eseguire lo script.

E 'risultato essere abbastanza facile.

  1. pulsante destro del mouse sulla sceneggiatura e scegliere Connessione> Connetti

  2. Il nome del server e l'autenticazione dovrebbero già essere impostati per l'istanza SQLEXPRESS locale.

  3. Fai clic sul Opzioni

  4. Clicca Parametri ulteriore collegamento

  5. Incolla nel il percorso del file di database utilizzando la seguente come guida:

    AttachDBFilename = C: \ path \ to \ Database \ LocalData.mdf; database = LocalData;

  6. Fai clic sul Connetti

Se hai ancora problemi di connessione che può essere perché c'è già una connessione aperta. Controllare Server Explorer e se la connessione è aperta, fare clic destro e selezionare Chiudi connessione.

Questo processo creerà anche una connessione persistente finché rimane collegato lo script SQL. Si vuole chiudere lo script o scegliere pulsante destro del mouse> Connessione> Disconnetti.

Maggiori informazioni possono essere trovate in questa domanda: EF4 Genera Database

Ho incontrato lo stesso problema, Modello Primo approccio in mvc4 utilizzando EF5. Quello che ho fatto è stato creare progetto, aggiungere un nuovo modello, aggiungere enti e associazioni sul diagramma edmx. Fare clic destro sul diagramma e selezionare 'Genera database dal modello'. Questo genera il file sql.

Ora aggiungere un file MDF, per esempio, Database1.mdf (Add> Nuova voce> Dati> SQL Server database) nella cartella App_Data in Esplora soluzioni.

clic destro> Apri su questo file mdf. Ora, in proprietà riquadro avete la stringa di connessione. Basta copiare che così com'è.

ripristinare lo script SQL generato, fare clic destro> Exeecute. Un pop-up chiede parametri di connessione. Assicurarsi di avere valore corretto a nome del server (utilizzare il nome del PC, o 127.0.0.1).

Ora, in Opzioni, fare clic sulla scheda Parametri di collegamento aggiuntivo e incollare la stringa di connessione copiato dalle proprietà del file MDF.

Questo ha funzionato perfettamente da me ed è abbastanza logico. Non c'è bisogno di giocare direttamente in giro con la directory di installazione di SQL Server.

grandi risposte di cui sopra, ma ho dovuto fare qualche passo in VS2013 ma ha risolto con l'aiuto qui di seguito.

  1. ho creato un modello ADO.NET da esistente .mdf
  2. destra scattata -> Genera database dal modello
  3. Fare clic destro del mdf in Esplora soluzioni e Open
  4. Nella stringa di proprietà riquadro copia collegamento negli appunti
  5. Nella finestra SQLQuery creato da connessione ADO modello Fare clic su Cambia
  6. Nella nuova finestra Collegamento al server -> Ulteriori parametri di connessione -> Incolla stringa di connessione dagli appunti
  7. In Esplora server fare clic destro del Database -> Nuova query
  8. copia e incolla il Query da ADO script generato a nuova finestra di query
  9. Cambia USO [yourdatabase.mdf] per usare [LongPath] dove LongPath è il percorso molto lungo elencati nel menu a discesa in alto. Il modo più semplice è quello di iniziare a scrivere e CTRL-SPACE esso.
  10. Esegui Query
  11. Salva il LongPath perché si può semplicemente incollarlo nel USO [] su una nuova query generati da ADO.

Spero che questo aiuta qualcuno - Happy Coding!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top