更改LocalDb的默认位置

Hos*_*oss 13 entity-framework localdb

我首先使用EF5代码进行编程,并希望使用LocalDb.如何更改LocalDb数据库文件的默认位置?根据http://blogs.msdn.com/b/sqlexpress/archive/2011/10/28/localdb-where-is-my-database.aspx,默认位置为%USERPROFILE%目录

以前我使用的是SqlCe DbConnectionFactory,它接受数据库路径/名称的参数.如果我使用AttachDbFileName参数,那么如果数据库不存在则会引发异常(它应该创建它!).

Hos*_*oss 20

由于这篇文章,我得到了这个工作.答案很简单.基本上我补充说

  <connectionStrings>
<add name="DataModel.Context" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=database;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\database.mdf" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

到app.config的配置部分,它用我的actuall数据库(DbContext)名称神奇地替换了"数据库".如果数据库不存在,EF代码首先也可以完美地创建数据库.