So richten Sie LocalDb für Komponententests in Visual Studio 2012 und Entity Framework 5 ein

Wir haben ein Visual Studio 2012 ASP.NET MVC-Projekt mit Entity Framework 5.

Es gibt einige Komponententests, die von einer Datenbank abhängen. Das Einrichten der Datei app.config im Testprojekt für die Verwendung einer zentralen SQL Server-Datenbank funktioniert problemlos.

Es wäre jedoch viel angenehmer, eine LocalDb zu verwenden, damit jeder Entwickler beim Ausführen der Tests seine eigene Datenbank hat. Zumal wir die Tests auf einrichten möchtenDropCreateDatabaseAlways beim rennen.

Ich kann das Setup jedoch nicht zum Laufen bringen. Wenn ich das in app.config versuche:

<add name="TestDb" 
   connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=unittestdb;
     Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\unittestdb.mdf"
   providerName="System.Data.SqlClient" />

Ich bekomme:

System.Data.SqlClient.SqlException: Ein Dateiaktivierungsfehler ist aufgetreten. Der physische Dateiname '\ unittestdb.mdf' ist möglicherweise falsch. Diagnostizieren und korrigieren Sie zusätzliche Fehler und wiederholen Sie den Vorgang. CREATE DATABASE ist fehlgeschlagen. Einige aufgelistete Dateinamen konnten nicht erstellt werden. Überprüfen Sie die zugehörigen Fehler.

Es hört sich so an, als ob die MDF-Datei bereits existieren soll, was seltsam erscheint, da versucht wird, die Datenbank zu erstellen. Das manuelle Erstellen einer MDF-Datei ändert die Fehlermeldung nicht.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage