经过一个小时的搜索,我无法相信我找不到一个可行的解决方案。我正在关注 Entity Framework 6.0 上的 this article,它提供了关于 Code First 的简单演练。我创建了项目并安装了最新的 EF Nuget package 以供项目编译。我还验证了我安装了 Visual Studio 2013 附带的 Microsoft SQL Server 2012 Express LocalDB。我的本地计算机上没有安装任何其他 SQL 实例。程序运行并将条目添加到数据库并在控制台中输出。但是当文章说“检查你的 localdb”时,它并没有说明如何!我没有看到在项目文件夹下创建的任何“.mdf”或“.ldf”文件。我尝试了各种将 Visual Studio 的服务器资源管理器连接到 LocalDB 的方法。向导找不到 (localdb)
或在服务器资源管理器中找不到任何提供程序来接受像 (localdb)\v11.0;Integrated Security=true;
这样的连接字符串请帮忙,这不必如此令人沮丧!
将 Visual Studio Server Explorer 连接到 LocalDB 的步骤是什么?
在 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.
好的,回答我自己的问题。
将 LocalDB 连接到 Visual Studio Server Explorer 的步骤
打开命令提示符运行 SqlLocalDB.exe start v11.0 运行 SqlLocalDB.exe info v11.0 复制以 np:\... 开头的实例管道名称在 Visual Studio 中选择 TOOLS > Connect to Database... 对于服务器名称,输入 (本地数据库)\v11.0.如果它不起作用,请使用您之前复制的实例管道名称。您还可以使用它来连接 SQL Management Studio。在下一个下拉列表中选择数据库 单击确定
https://i.stack.imgur.com/Wuvbu.png
SqlLocalDb info
将列出所有服务器名称。就我而言,在 EF 代码优先魔术之后,我的数据库以 MSSQLLocalDB
而不是 v11.0
结束,因此我在 Add Connection 对话框中输入了 (localdb)\MSSQLLocalDB
。
选择:
数据源:Microsoft SQL Server (SqlClient) 服务器名称:(localdb)\MSSQLLocalDB 登录服务器:使用 Windows 身份验证
按刷新按钮获取数据库名称:)
https://i.stack.imgur.com/c35LA.png
改用 SQL Server 对象资源管理器 (SSOX)
与其他答案不同,这种方法使用: - 没有特殊命令。 - 没有复杂的配置。只需使用 SQL Server 对象资源管理器
这很简单......
从视图菜单中,打开 SQL Server 对象资源管理器。
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/working-with-sql/_static/ssox.png
右键单击 {YourTableName} 表 > 查看设计器
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/working-with-sql/_static/design.png
完毕。
它对我有用。
打开命令提示符运行“SqlLocalDB.exe start”系统响应“LocalDB 实例“mssqllocaldb”已启动。”在VS中, 查看/服务器资源管理器/(右键)数据连接/添加连接数据源:Microsoft SQL Server (SqlClient) 服务器名称:(localdb)\MSSQLLocalDB 登录服务器:使用Windows认证 按“测试连接”,然后好的。
以下内容适用于使用 SQLServer Express 2016 的 Windows 10 上的 Visual Studio 2017 Community Edition。
打开 PowerShell 检查使用 SqlLocalDB.exe info
调用的内容以及它是否使用 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
启动它。当它运行时,您会看到以 np:\\
开头的 Instance pipe name:
。复制该命名管道字符串。在 VS2017 中打开视图 Server Explorer
并创建一个类型为 Microsoft SQL Server (SqlClient)
的新连接(不要被您想要完整连接类型的其他文件类型所迷惑)并将 Server name:
设置为您的实例管道名称从 PowerShell 复制。
我还将 Connect to database
设置为与在使用 dotnet ef database update
设置的 Dotnet Core/Entity Framework Core 项目中工作的连接字符串中的数据库相同的数据库。
您可以使用 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 上提供了有关如何为您的应用程序创建用户的说明
修复不起作用。
与示例插图中的完全一样,所有这些步骤仅提供对“系统”数据库的访问,而没有选择要访问的现有用户数据库的选项。
访问本地(非 Express Edition)Microsoft SQL Server 实例的解决方案位于 SQL Server 端:
打开“运行”对话框(WinKey + R) 类型:“services.msc” 选择 SQL Server 浏览器 单击属性 将“禁用”更改为“手动”或“自动” 当“开始”服务按钮启用时,单击它。
完毕!现在您可以从连接属性中的服务器名称列表中选择您的本地 SQL Server。
Visual Studio 2015 RC,已安装 LocalDb 12,与之前类似的说明,但仍然不需要知道“魔术”,在使用它之前,默认实例应该已经打开......咆哮完成,没有解决方案:
cmd> sqllocaldb start
哪个会显示
LocalDB instance "MSSQLLocalDB" started.
您的实例名称可能不同。无论哪种方式都弹出到 VS 并打开服务器资源管理器,右键单击数据连接,选择添加,选择 SQL Server,在服务器名称类型中:
(localdb)\MSSQLLocalDB
在不输入数据库名称的情况下,单击“测试连接”。
以管理员身份运行 CMD。
从开始菜单'cmd' - 等待它找到它。右键单击 cmd,然后选择以管理员身份打开 类型:cd C:\Program Files\Microsoft SQL Server\120\Tools\Binn 类型:SqlLocalDB 现在开始 类型:SqlLocalDB info 显示可用的正在运行的 sql 实例...选择你想要的...要查找有关实例类型的更多信息:SqlLocalDB info instanceName now from VS 您可以在 VS 中设置连接,查看/服务器资源管理器/(右键单击)数据连接/添加连接数据源:Microsoft SQL Server(SqlClient)服务器名称: (localdb)\MSSQLLocalDB 登录服务器:使用 Windows 身份验证 按“测试连接”,然后确定。任务完成
Visual Studio 2017 中最快的方法是转到工具 -> SQL Server -> 新查询。从本地数据库中选择并在底部选择所需的数据库名称。
替代方式
Visual Studio 2017 服务器名称为:
(localdb)\MSSQLLocalDB
使用菜单工具添加新连接 -> 连接到数据库...
我按照上面的步骤进行操作,但是我忘记在 Visual Studio 2015 配置之前安装 SQL Server 2014 LocalDB。
我的步骤如下:
安装 SQL Server 2014 LocalDB;打开 Visual Studio 2015,然后打开 SQL Server 对象资源管理器;在 SQL Server 标记下找到您的 LocalDB。
希望这对任何人都有帮助。
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。
场景:Windows 8.1,VS2013 Ultimate,SQL Express 已安装并运行,SQL Server Browser 已禁用。这对我有用:
首先,我在服务下启用了 SQL Server Browser。在 Visual Studio 中:打开包管理器控制台,然后键入:Enable-Migrations;然后键入 Enable-Migrations -ContextTypeName YourContextDbName,它在 VS 中创建了 Migrations 文件夹。在 Migrations 文件夹中,您将找到“Configuration.cs”文件,通过以下方式打开自动迁移: AutomaticMigrationsEnabled = true;再次运行您的应用程序,环境将创建一个 DefaultConnection,您将在上下文中看到新表。这个新连接指向 localdb。创建的连接字符串显示:Data Source=(LocalDb)\v11.0 ...(更多参数和创建的mdf文件的路径)
您现在可以使用服务器名称创建新连接:(LocalDb)\v11.0(点击刷新) 连接到数据库:在下拉列表下选择您的新数据库。
我希望它有所帮助。
对于 SQL Server 2017 和 Visual Studio 2015,我使用了 localhost\SQLEXPRESS
https://i.stack.imgur.com/AWIlR.jpg