I can't believe I couldn't find a working solution to this after an hour of searching. I'm following this article on Entity Framework 6.0 which gives a simple walk-through on Code First. I created the project and installed the latest EF Nuget package for the project to compile. I also verified that I have Microsoft SQL Server 2012 Express LocalDB installed which came with Visual Studio 2013. I don't have any other instances of SQL installed on my local computer. The program runs and entries are added to the database and outputted in the console. But when the article says "check your localdb" it doesn't say how! I don't see any '.mdf' or '.ldf' files created under the project folder. I tried every way to connect Visual Studio's Server Explorer to LocalDB. The wizard cannot locate (localdb) or cannot find any provider in Server Explorer to accept connection string like (localdb)\v11.0;Integrated Security=true; I've seen this asked several places in StackOverflow but no answer works or marked as answer. Please help, this doesn't have to be this frustrating!

连接Visual Studio服务器资源管理器到LocalDB的步骤是什么?


当前回答

以下是使用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:\\开头。复制已命名的管道字符串。在VS2017中,打开服务器资源管理器视图,创建一个Microsoft SQL Server (SqlClient)类型的新连接(不要被你想要的完整连接类型的其他文件类型所迷惑),并将服务器名称:设置为从PowerShell复制的实例管道名称。

我还将连接到数据库设置为在我的Dotnet核心/实体框架核心项目中工作的连接字符串中的相同数据库,该项目使用Dotnet ef数据库更新设置。

你可以使用sqlcmd和命名管道字符串登录并创建一个数据库:

sqlcmd -S np:\\.\pipe\ localdb# EFC58609\tsql\query 创建数据库EFGetStarted.ConsoleApp.NewDb; 2 >

https://learn.microsoft.com/en-us/sql/tools/sqllocaldb-utility上有关于如何为应用程序创建用户的说明

其他回答

好的,回答我自己的问题。

连接LocalDB到Visual Studio Server Explorer的步骤

打开命令提示符 运行SqlLocalDB.exe start v11.0 执行SqlLocalDB.exe info v11.0命令 复制以np:\…开头的实例管道名 在Visual Studio中选择工具>连接到数据库… 对于服务器名输入(localdb)\v11.0。如果它不起作用,请使用前面复制的Instance管道名。您还可以使用它来连接SQL Management Studio。 在下一个下拉列表中选择数据库 单击OK

场景:Windows 8.1, VS2013 Ultimate, SQL Express已安装并运行,SQL Server浏览器已禁用。 这招对我很管用:

First I enabled SQL Server Browser under services. In Visual Studio: Open the Package Manager Console then type: Enable-Migrations; Then Type Enable-Migrations -ContextTypeName YourContextDbName that created the Migrations folder in VS. Inside the Migrations folder you will find the "Configuration.cs" file, turn on automatic migrations by: AutomaticMigrationsEnabled = true; Run your application again, the environment creates a DefaultConnection and you will see the new tables from your context. This new connection points to the localdb. The created connection string shows: Data Source=(LocalDb)\v11.0 ... (more parameters and path to the created mdf file)

您现在可以创建一个新的连接 服务器名称:(LocalDb)\v11.0(点击刷新) 连接到数据库:在下拉菜单中选择新数据库。

我希望这能有所帮助。

我遵循了上面的步骤,但我忘记在Visual Studio 2015配置之前安装SQL Server 2014 LocalDB。

我的步骤如下:

安装SQL Server 2014 LocalDB; 打开Visual Studio 2015和SQL Server对象资源管理器; 在SQL Server标记下找到您的LocalDB。

希望这对大家有所帮助。

在Visual Studio 2017中最快的方法是转到Tools -> SQL Server -> New query..从Local databases中选择,并在底部选择所需的数据库名称。

替代方法

Visual Studio 2017服务器名称为:

(localdb)\MSSQLLocalDB

使用菜单工具添加新的连接->连接到数据库…

Visual Studio 2015 RC,已经安装了LocalDb 12,类似于之前的说明,但仍然不应该被要求知道“魔术”,在使用之前,默认实例应该已经打开… 咆哮完毕,无解:

cmd> sqllocaldb start

会显示

LocalDB instance "MSSQLLocalDB" started.

您的实例名可能不同。无论哪种方式,弹出到VS,打开服务器资源管理器,右键单击数据连接,选择添加,选择SQL Server,在服务器名类型中:

(localdb)\MSSQLLocalDB

不输入数据库名称,单击“Test Connection”。