实体框架连接到localDb

too*_*old 5 c# sql-server entity-framework database-connection

我正在尝试遵循复杂的课程ASP.NET MVC 4 Fundamentals.但不能连接我的数据库.

这是我得到的错误:

从数据库获取提供程序信息时发生错误.这可能是由实体框架使用不正确的连接字符串引起的.检查内部异常以获取详细信息,并确保连接字符串正确.

我在我的机器上安装了visual studio 2013专业版和SQL Server 2012.当我安装SQL服务器时,我在计算机上创建了一个服务器名称"ABC".

我也分别安装了sql localdb 11.0,但似乎VS找不到localDb连接.当我检查服务器资源管理器 - >添加连接时,在服务器名称列表下,只显示"ABC".

这是连接字符串.

我也尝试使用"数据源= ABC; ...."它也不起作用.

更新

这是我的连接字符串

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-eManager.Web-20141223223418;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-eManager.Web-2014122322341??8.mdf" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

AAA*_*ddd 5

你可以试试这个

  1. 在服务器资源管理器中,右键单击,选择“添加连接”
  2. 输入(localdb)\v11.0服务器名称
  3. 选择您的数据库,然后按连接
  4. 右键单击新连接上的属性
  5. 在默认连接中以字符串形式使用该连接

<add name="DefaultConnection" connectionString="<Paste-connection-string-here>" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

如果这样不起作用,请尝试从命令行启动它

  1. 打开命令提示符
  2. 运行SqlLocalDB.exe启动v11.0

遵循原始步骤,使用命名管道作为服务器名称


如果这样不起作用,请尝试通过命名管道进行连接

  1. 打开命令提示符
  2. 运行SqlLocalDB.exe信息v11.0
  3. 复制以np:...开头的实例管道名称

遵循原始步骤,使用命名管道作为服务器名称

例如

在此处输入图片说明


Wah*_*tar 5

运行此命令以确保您的LocalDB版本是什么 sqllocaldb info sqllocaldb info命令结果

所以在我的情况下,版本为MSSQLLocalDB,则连接字符串如下所示

<add name="DefaultConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=IdentityManagerDB;Integrated Security=True" providerName="System.Data.SqlClient" />