我对LocalDB的代码有效,但我无法在任何地方看到数据库

时间:2014-06-03 10:06:49

标签: sql-server entity-framework localdb

我有一个使用EF Code First和LocalDB的简单网站。这是在我的web.config中:

<connectionStrings>
  <add name="MyContext" providerName="System.Data.SqlClient" connectionString="Server=(localdb)\v11.0;Integrated Security=true;"/>
</connectionStrings>

我的网站运行良好,像Update-DatabaseAdd-Migration这样的PowerShell命令工作正常,但是,我无法在Visual Studio中的任何位置看到数据库。不在SQL Server对象资源管理器中,而不是在服务器资源管理器中(当我尝试连接到&#34; MyContext&#34; (localdb)\v11服务器上的数据库时,对话框告诉我那里没有这样的数据库。)< / p>

MyContext misssing

我很困惑。我的数据库在哪里?

2 个答案:

答案 0 :(得分:2)

您需要在连接字符串中指定数据库的名称,如下所示:

Server=(localdb)\v11.0;Database=YourDbName;Integrated Security=SSPI;

或者,以更典型的格式(因为它是SqlConnectionStringBuilder生成的格式):

Data Source=(localdb)\v11.0;Initial Catalog=YourDbName;Integrated Security=True;

值得注意的是经验丰富的开发人员使用&#34; SSPI&#34;是encouraged

  

在连接中指定false,用户ID和密码时。如果为true,则使用当前Windows帐户凭据进行身份验证   已识别的值为truefalseyesnosspi(强烈推荐),相当于true

如果您想知道哪些密钥对所有提供商有效,并且the Connection String docs也是which keys are valid for the SqlClient provider,那么MSDN上的{{3}}也非常详尽。

答案 1 :(得分:2)

有一个属性定义 - 初始目录

Data Source=(localdb)\v11.0;Initial Catalog=YourDbName;Integrated Security=True;