Erstellen von sql server compact-Datei im appdata-Ordner

Ich entwickle ein einfaches Stück software, die verwendet Entity Framework code first und sql server compact 4. Im moment ist diese setup funktioniert. Entity framework erstellt der sql server compact-Datei, wenn Sie noch nicht existiert. Der Pfad zu der Datenbank definiert wird aus einer connectionstring gespeichert, die innerhalb der app.config-Datei. Es ist der Aufbau so:

<connectionStrings>
  <add name="DataContext" 
       connectionString="Data source=Database.sdf;"
       providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>

Allerdings möchte ich die Datenbank in einen Ordner innerhalb des aktuellen Benutzers Anwendungsdaten-Ordner (der C:\Users\User\AppData\Roaming Ordner auf meinem win7 Rechner). Ich habe versucht Einstellung der Datenquelle, der Sie den connectionstring, um so etwas wie %APPDATA%\Database.sdf, aber das funktioniert nicht, ich erhalte eine "Illegale Zeichen im Pfad" Ausnahme.

Möchte ich stick mit der connectionstring-Methode, weil ich möchte, um eine andere Datenbank für meine unit-tests als mit meinem eigentlichen Anwendung. Auf diese Weise ist es leicht ändern Sie die Datenbank, indem Sie eine app.config-Datei im Stammverzeichnis des Projekts.

Kann jemand lenken mich in die richtige Richtung?

Aber auf diese Weise habe ich zum erstellen des connectionstring im code. Dies wird nicht machen Sie es einfach, schalten Sie den Speicherort der Datenbank, wie ich jetzt tun. Ich habe eine separate app.config-Datei in meine beiden regelmäßigen Projekt-und meine test-Projekt, die beide auf eine andere Datenbank.

InformationsquelleAutor Jesse van Assen | 2011-10-03

Schreibe einen Kommentar