gza*_*zak 6 sql-server-express entity-framework-5 localdb visual-studio-2012
我创建了一个全新的Web API项目,创建了一个简单的Code First模型(一个类的id和的DbContext对象,这就是它),并在包管理器控制台运行启用的迁移.
我注意到它在SQLEXPRESS而不是LocalDB中创建了数据库,尽管DefaultConnection字符串指向Web.config文件中的(LocalDB).这会导致后续查询失败,声称数据库尚未初始化.
如何在VS 2012中将Enable-Migrations命令指向LocalDB而不是SQLExpress?我已经尝试安装SQL Management Studio 2012 Express并停止SQLEXPRESS数据库,但这只会导致Enable-Migration命令失败.
有小费吗?
注意:我安装了VS 2010,以及它附带的所有默认软件(如SQL Server),所以这可能是干扰.
看起来你必须实际指定(在上下文构造函数中)上下文应该使用DefaultConnection.例如:
public class QueensFinalDb : DbContext
{
public QueensFinalDb()
: base("name=DefaultConnection")
{
}
}
Run Code Online (Sandbox Code Playgroud)
否则我猜它使用machine.config中的第一个连接字符串,在我的例子中是:
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3053 次 |
最近记录: |