2012-03-15 140 views
7

.NET 4.0中的实体框架5中的Visual Studio 2010支持LocalDB吗?实体框架5中的Visual Studio 2010是否支持LocalDB?

还是我做错了?使用LocalDB的连接字符串实例化我的模型容器时,出现“无法找到网络路径”问题。

这里的连接字符串:

var connectionString = "metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=\"data source=(localdb)\v11.0;initial catalog=fablelane_com_db;integrated security=SSPI;multipleactiveresultsets=True;App=EntityFramework\""; 

编辑1 连接时,更具体的我收到以下错误:

出现与网络相关的或特定于实例的错误而建立到SQL Server的连接。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开到SQL Server的连接)。

编辑2 我想通了,改变到Visual Studio 11 Beta版也不起作用。仍然收到相同的错误消息。

回答

6

这个问题很简单,就像缺少一个反斜杠来逃离我的数据库。

请注意数据库的名称是如何“(localdb)\ v11.0”。原始连接字符串中的反斜杠根本不会被转义,因此它将“\ v”作为连接字符串的一部分进行处理。

通过指定"\\v"而不是"\v"工作,转义它。

+0

YOu还可以在开放报价之前放置@以禁用转义 – 2014-08-08 09:36:13

4

LocalDB是SQL Server 2012的一部分,因此在没有SQL Server 2012的情况下安装EF 5.0(在.NET 4.0上的行为与EF 4.3.1类似)不起作用。要使用.NET 4.0的LocalDB you need .NET 4.0.2,但问题是EF的how it works with VS 2010 tooling

+0

但它似乎并没有工作。我在.NET 4.0和Visual Studio 2010上 - 这是否意味着什么? – 2012-03-15 12:33:44

+0

您是否有.NET 4 Update 4.0.2并且您的项目针对更新?什么不工作? – 2012-03-15 12:59:01

+0

我有.NET 4.0.3更新,这是更新的。这是一个无法连接到数据库的单元测试项目。使用上面的连接字符串时,出现错误“找不到网络路径”。 – 2012-03-15 15:37:21