经过一个小时的搜索,我无法相信找不到合适的解决方案。我在实体框架6.0上关注this article,它简单介绍了Code First。我创建了项目,并为要编译的项目安装了最新的EF Nuget package。我还验证了我安装了Visual Studio 2013附带的Microsoft SQL Server 2012 Express LocalDB。我的本地计算机上没有安装任何其他SQL实例。程序运行并将条目添加到数据库并在控制台中输出。但是,当文章说“检查你的localdb”时,它没有说明如何!我没有在项目文件夹下看到任何'.mdf'或'.ldf'文件。我尝试了将Visual Studio的Server Explorer连接到LocalDB的各种方法。向导无法找到(localdb)
或在服务器资源管理器中找不到任何提供程序来接受像(localdb)\v11.0;Integrated Security=true;
这样的连接字符串我已经看到这在StackOverflow中询问了几个地方,但没有答案可行或标记为答案。请帮助,这不一定是令人沮丧的!
将Visual Studio Server Explorer连接到LocalDB有哪些步骤?
答案 0 :(得分:259)
在 Visual Studio 2012 中,我只需输入:
(localdb)\v11.0
Visual Studio 2015 和 Visual Studio 2017 更改为:
(localdb)\MSSQLLocalDB
作为添加Microsoft SQL Server Data
来源的服务器名称:
View/Server Explorer/(Right click) Data Connections/Add Connection
然后填充数据库名称。我不需要在接受的答案中执行所有其他步骤,但如果服务器名称在服务器名称组合框中自动可用则会很好。
您还可以使用以下方式浏览计算机上可用的LocalDB数据库名称:
View/SQL Server Object Explorer.
答案 1 :(得分:247)
好的,回答我自己的问题。
将LocalDB连接到Visual Studio Server Explorer的步骤
SqlLocalDB.exe start v11.0
SqlLocalDB.exe info v11.0
(localdb)\v11.0
。如果它不起作用,请使用先前复制的实例管道名称。您也可以使用它来连接SQL Management Studio。
答案 2 :(得分:64)
选择:
Microsoft SQL Server (SqlClient)
(localdb)\MSSQLLocalDB
Use Windows Authentication
按“刷新”按钮获取数据库名称:)
答案 3 :(得分:16)
它对我有用。
答案 4 :(得分:16)
与其他答案不同,此方法使用:
即可
- 没有特殊命令 - 没有复杂的配置 只需使用 SQL Server对象资源管理器
这很简单......
{YourTableName}
表> 查看设计器
完成。
答案 5 :(得分:8)
以下内容适用于使用SQLServer Express 2016的Windows 10上的Visual Studio 2017 Community Edition。
使用SqlLocalDB.exe info
打开PowerShell检查它的名称,以及它是否与SqlLocalDB.exe info NAME
一起运行。这是我机器上的样子:
> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name: mssqllocaldb
Version: 13.0.1601.5
Shared name:
Owner: DESKTOP-I4H3E09\simon
Auto-create: Yes
State: Running
Last start time: 4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>
如果它没有运行,那么您需要使用SqlLocalDB.exe start MSSQLLocalDB
启动它。运行时,您会看到以Instance pipe name:
开头的np:\\
。复制该命名管道字符串。在VS2017中打开视图Server Explorer
并创建类型为Microsoft SQL Server (SqlClient)
的新连接(不要被您想要完整胖连接类型的其他文件类型所欺骗)并将Server name:
设置为是从PowerShell复制的实例管道名称。
我还将Connect to database
设置为与使用dotnet ef database update
设置的Dotnet核心/实体框架核心项目中的连接字符串相同的数据库。
您可以使用sqlcmd
和命名管道字符串登录并创建数据库:
sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query
1> create database EFGetStarted.ConsoleApp.NewDb;
2> GO
有关如何在https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility
为您的应用程序创建用户的说明答案 6 :(得分:7)
Visual Studio 2015 RC,安装了LocalDb 12,之前的类似指令但仍然不应该要求知道'魔术',在使用之前,默认实例应该已经打开... Rant完成,没有解决方案:
cmd> sqllocaldb start
将显示
LocalDB instance "MSSQLLocalDB" started.
您的实例名称可能有所不同。无论哪种方式弹出到VS并打开Server Explorer,右键单击Data Connections,选择Add,选择SQL Server,在服务器名称类型中:
(localdb)\MSSQLLocalDB
如果没有输入数据库名称,请单击“测试连接”。
答案 7 :(得分:6)
修复不起作用。
正如示例说明中一样,所有这些步骤仅提供对“系统”数据库的访问,并且没有选择您要访问的现有用户数据库的选项。
访问本地(非Express Edition)Microsoft SQL Server实例的解决方案驻留在SQL Server端:
完成!现在,您可以从“连接属性”中的“服务器名称”列表中选择本地SQL Server。
答案 8 :(得分:4)
以管理员身份运行CMD。
查找有关该实例的更多信息 type:SqlLocalDB info instanceName
现在从VS你可以设置你的连接 在VS中,查看/服务器资源管理器/(右键单击)数据连接/添加连接 数据源:Microsoft SQL Server(SqlClient) 服务器名称:(localdb)\ MSSQLLocalDB 登录到服务器:使用Windows身份验证 按“测试连接”,然后按“确定”。
完成工作
答案 9 :(得分:3)
Visual Studio 2017中最快的方法是转到工具 - > SQL Server - >新查询..从本地数据库中选择,然后在底部选择所需的数据库名称。
替代方式
Visual Studio 2017服务器名称为:
(localdb)\MSSQLLocalDB
使用菜单工具添加新连接 - >连接数据库......
答案 10 :(得分:1)
我按照上面的步骤操作,但是我忘记在Visual Studio 2015配置之前安装SQL Server 2014 LocalDB。
我的步骤如下:
希望这有助于任何人。
答案 11 :(得分:1)
https://aspblogs.blob.core.windows.net/media/dixin/Open-Live-Writer/89ee21b2c263_49AE/image_thumb_5.png Windows Application Log Error 计算机\HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\UserInstances{2DD3D445-34C1-4251-B67D-7DFEED432A87}
只需将 ParentInstance 更改为 MSSQL14E.LOCALDB 或 MSSQL15E.LOCALDB。
答案 12 :(得分:0)
场景:Windows 8.1,VS2013 Ultimate,SQL Express已安装并正在运行,SQL Server浏览器已禁用。 这对我有用:
您现在可以使用创建新连接 服务器名称:(LocalDb)\ v11.0(点击刷新) 连接到数据库:在下拉列表中选择新数据库。
我希望它有所帮助。
答案 13 :(得分:-1)