Frage

Ich habe ein Datenbankmodell mit Modell-first-Verfahren Entity Framework 4.0 erstellt. Ich habe dann eine SQL-Skript erstellt mit der Datenbank von Modell generiert ... Ich habe auch eine SQL-Server-Datenbank-Datei in meinem Ordner App_Data erstellt. Wie kann ich nun die SQL-Datei gegen diese MDF-Datei ausführen?

Ich bin mit Visual Studio 2010.

War es hilfreich?

Lösung 2

Ich fand eine Lösung, aber es ist ein bisschen hacky.

Ich habe SQL Server Express (2008 R2). Also, wenn die Datenbank aus dem Modell zu erzeugen verbinde ich es und lassen Sie es dort eine Datenbank aufzubauen. Dann gehe ich C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA. Der 10_50 Teil ist wegen der Version und kann für Sie anders sein. Also in diesem Ordner gibt es eine MDF-Datei genau wie die Datenbank mit dem Namen - MDF-. Es gibt auch eine _log.ldf Datei. Ich kopierte diese in den Ordner App_Data meines Projekts.

Das funktioniert aber sehr zeitraubend eine neue MDF- Datenbank für jede Änderung im Modell zu erzeugen. Also habe ich dies nur tun, bevor sie versenden.

Wenn Sie eine bessere Antwort finden bitte Aktie tun.

Andere Tipps

Ich lief in das gleiche Problem und hier ist das, was für mich gearbeitet.

Wenn ich ausgewählt „Datenbank von Modell generieren ...“ habe ich eine neue MDF-Datei. Dieser Prozess hat gut funktioniert und Visual Studio generiert die benötigten SQL-Skript. Aber ich wusste nicht, wie man die gleiche MDF-Datei verbinden um das Skript auszuführen.

Es stellte sich heraus ganz einfach sein.

  1. Rechtsklick auf das Skript und wählen Sie Verbindung> Verbinden

  2. Der Servername und Authentifizierung sollten bereits für die lokale SQLEXPRESS Instanz eingestellt werden.

  3. Klicken Sie auf Optionen

  4. Klicken Sie auf die Zusätzliche Verbindungsparameter

  5. Fügen Sie sich in dem Pfad zu Ihrer Datenbank-Datei als Leitfaden Folgendes mit:

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

  6. Klicken Sie auf Verbinden

Wenn Sie immer noch Schwierigkeiten haben, verbindet es sein kann, weil es bereits eine offene Verbindung. Überprüfen Sie Server-Explorer und wenn die Verbindung offen ist, die rechte Maustaste und wählen Sie Verbindung trennen.

Dieser Prozess wird auch eine dauerhafte Verbindung so lange erstellen, wie die SQL-Skript verbunden bleibt. Sie wollen das Skript oder wählen Sie einen Rechtsklick> Verbindung> Verbindung trennen.

schließen

Weitere Informationen finden Sie auf diese Frage zu finden: EF4 generieren Datenbank

stieß ich auf das gleiche Problem, Modell First-Ansatz in mvc4 EF5 verwenden. Was ich tat, war Projekt erstellen, fügen Sie ein neues Modell, fügen Sie Entitäten und Zuordnungen auf dem edmx Diagramm. Recht auf Diagramm klicken und wählen Sie ‚generieren Datenbank von Modell‘. Dies erzeugt die SQL-Datei.

Jetzt eine MDF-Datei hinzufügen, sagen wir, Database1.mdf (Hinzufügen> Neue Artikel> Daten> SQL Server-Datenbank) in den Ordner App_Data in Lösung Explorer.

Rechtsklick> Öffnen Sie auf dieser MDF-Datei. Jetzt im Eigenschaftenbereich Sie die Verbindungszeichenfolge haben. Kopieren Sie einfach das, wie es ist.

Revert zurück zu Ihrem generierten SQL-Skript, Rechtsklick> Exeecute. Ein Pop-up bittet um Verbindungsparameter. Achten Sie auf korrekten Wert im Server-Namen haben (verwenden Sie den Namen Ihres PCs oder 127.0.0.1).

Jetzt in Optionen, auf den zusätzlichen Verbindungsparameter Registerkarte und fügen Sie die Verbindungszeichenfolge von Eigenschaften von MDF-Datei kopiert.

Das funktionierte bei mir perfekt und ist ganz logisch. Es gibt keine Notwendigkeit, direkt mit dem SQL Server-Installationsverzeichnis rumspielen.

Große Antworten oben, aber ich hatte noch ein paar Schritte in VS2013 zu tun, aber ich habe Entschluss mit Hilfe hier wie folgt.

  1. Ich habe ein ADO.NET Modell aus bestehenden MDF-
  2. Right Clicked -> Generieren Datenbank von Modell
  3. Rechtsklick auf die MDF- in Projektmappen-Explorer und öffnen
  4. Im Eigenschaftenfenster kopiert Connection String in der Zwischenablage
  5. Im SQLQuery Fenster erstellt von ADO Modell Klick ändern Verbindung
  6. Im neuen Fenster Verbindung mit Server -> Zusätzliche Verbindungsparameter -> Verbindungszeichenfolge Einfügen aus der Zwischenablage
  7. Sie im Server-Explorer die Datenbank Rechtsklick -> Neue Abfrage
  8. Kopieren und einfügen die Abfrage von ADO generierte Skript, um neue Abfragefenster
  9. Ändern USE [yourdatabase.mdf] zu USE [LongPath] wo LongPath der sehr langen Weg in der Dropdown oben aufgeführt ist. Der einfachste Weg ist es Typisierung und CTRL-SPACE zu starten.
  10. Führen Sie die Abfrage
  11. Speichern Sie die LongPath, weil Sie gerade in die USE einfügen [] auf jede neue Abfrage, die von ADO.

Ich hoffe, das hilft jemand - Happy Coding!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top