我有一个使用EF Code First和LocalDB的简单网站。这是在我的web.config中:
<connectionStrings>
<add name="MyContext" providerName="System.Data.SqlClient" connectionString="Server=(localdb)\v11.0;Integrated Security=true;"/>
</connectionStrings>
我的网站运行良好,像Update-Database
和Add-Migration
这样的PowerShell命令工作正常,但是,我无法在Visual Studio中的任何位置看到数据库。不在SQL Server对象资源管理器中,而不是在服务器资源管理器中(当我尝试连接到&#34; MyContext&#34; (localdb)\v11
服务器上的数据库时,对话框告诉我那里没有这样的数据库。)< / p>
我很困惑。我的数据库在哪里?
答案 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帐户凭据进行身份验证 已识别的值为true
,false
,yes
,no
和sspi
(强烈推荐),相当于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;