Visual Studio 2012上的SSDT破坏然后修复,在VS2013上又破坏了

时间:2013-11-25 18:09:11

标签: visual-studio-2012 ef-code-first visual-studio-2013 sql-server-data-tools

在Windows 8上安装Visual Studio 2012 Ultimate后,通过SQL Server对象资源管理器的SSDT无效。解决方案是从MSDN网站安装最新版本的VS2012。

一切都很好。我可以看到数据库,没问题。无论我使用EF defaultConnectionFactory还是我自己的connectionString都无关紧要,无论哪种方式,我的所有代码第一个数据库都出现在VS2012 SQL Server对象资源管理器中。

不久前,我安装了Visual Studio 2013 Ultimate。在VS2013 Ultimate中,本地数据库,我通过属性看到的是这个连接字符串:

Data Source=(localdb)\Projects;
Initial Catalog=master;Integrated Security=True;
Connect Timeout=30;Encrypt=False;TrustServerCertificate=False  

接下来,当我试图通过VS2012查看时,VS2012又被打破了。为了让VS2012再次运行,我从MSDN为VS2012安装了2013年10月版的SSDT。

虽然VS2012 SSDT现在再次通过SQL Server对象资源管理器工作,但不幸的是,其行为与VS2103中的SSDT相同。

我能够通过LINQPad4进行连接,这确实有一些优点,因为只需右键单击一个表名即可获得有用的LINQ选项。

首先使用EF 6.0.1代码。

1 个答案:

答案 0 :(得分:9)

线索是数据源=(localdb) \ Projects ;

EF 6.0.1将数据库置于此处:数据源=(localdb) \ v11.0 ;

Data Source=(localdb)\v11.0;
Integrated Security=True;Connect Timeout=15;
Encrypt=False;TrustServerCertificate=False
在vs2012 / vs2013中的SSDT中的

[查看,SQL Server对象资源管理器],
右键单击节点“SQL Server”,然后单击“添加SQL Server ...”

输入“(localdb)\ v11.0”作为服务器名称,然后点击连接

现在,您应该在SQL Server对象资源管理器中看到“(localdb) \ v11.0 ”和“(localdb) \ Projects ”。

您的代码第一个数据库将位于“(localdb) \ v11.0 ”下的“数据库”节点中。

FWIW,我不知道为什么微软会做出这个恼人的改变。