C#.Net SqlConnection到LocalDB

C#.Net SqlConnection到LocalDB,c#,.net,sqlconnection,sqlcommand,C#,.net,Sqlconnection,Sqlcommand,我觉得自己很傻,甚至不得不问这个问题,但我肯定错过了什么 我只是尝试在我的开发机器上打开一个新的SqlConnection到我的LocalDB实例。Visual Studio 2013 我可以并且已经从SSMS连接到LocalDB,没有任何问题。在我正在开发的解决方案中,我可以并且已经成功地使用Entity Framework连接到LocalDB 在同一个解决方案中的另一个项目中,我正试图通过一个老学校连接到LocalDB SqlConnectionobject,这就是我完全失败的地方 这是我尝

我觉得自己很傻,甚至不得不问这个问题,但我肯定错过了什么

我只是尝试在我的开发机器上打开一个新的SqlConnection到我的LocalDB实例。Visual Studio 2013

我可以并且已经从SSMS连接到LocalDB,没有任何问题。在我正在开发的解决方案中,我可以并且已经成功地使用Entity Framework连接到LocalDB

在同一个解决方案中的另一个项目中,我正试图通过一个老学校连接到LocalDB
SqlConnection
object,这就是我完全失败的地方

这是我尝试使用的连接字符串

SqlConnection SqlConn = new SqlConnection("Server=(LocalDb)\v11.0;Initial Catalog=DBNAME;Integrated Security=SSPI;Trusted_Connection=yes;");
当我调用
SqlConn.Open()
时,我收到一条错误消息,说它无法找到或连接到数据库


这其实并不重要,因为当连接字符串被合并到生产中时,连接字符串将被更改,但我始终无法理解为什么我无法让这个
SqlConnection
对象与LocalDB进行对话。看起来您可能需要在连接字符串中转义斜杠

把这个翻过来:
“服务器=(本地数据库)\v11.0;初始目录=数据库名;集成安全性=SSPI;可信连接=是;”

为此:
“Server=(LocalDb)\\v11.0;Initial Catalog=DBNAME;Integrated Security=SSPI;Trusted\u Connection=yes;”

我找到了这个包,它结束了与SQLLocalDB的工作

ISqlLocalDbProvider provider = new SqlLocalDbProvider();
ISqlLocalDbInstance instance = provider.GetOrCreateInstance("MyInstance");

instance.Start();

using (SqlConnection connection = instance.CreateConnection())
{
    connection.Open();

    // Use the connection...
}

instance.Stop();

在我的例子中,我在一个单独的PCL中使用app.config,当ConfigurationManager.ConnectionString在app.config文件中查找ConnectionString条目时,显然没有读取该PCL


解决这个问题的方法是编辑主项目的app.config文件(在我的例子中是创建,因为没有任何文件),它工作得很好。

你确定你有一个名为
v11.0
的实例吗?可能吧?我几乎从不使用LocalDB…这是我为Entity Framework设置的连接字符串,用于与LocalDB对话
该项目是web项目还是其他用户运行的项目?现在我真的觉得自己像个白痴…我忘了在C#代码中跳过连接字符串中的反斜杠…现在已经修复了。谢谢@dstanley就是这样。非常感谢。Zind@mituw16表示感谢的最佳方式是将答案标记为正确:)。找到吉德真好!我计划好了,@Termato。。必须再等2分钟,直到它让我接受答案:)