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的步骤是什么?


当前回答

https://aspblogs.blob.core.windows.net/media/dixin/Open-Live-Writer/89ee21b2c263_49AE/image_thumb_5.png Windows应用程序日志错误 计算机\HKEY_CURRENT_USER\软件\Microsoft\Microsoft SQL Server\UserInstances{2DD3D445-34C1-4251-B67D-7DFEED432A87}

只需将ParentInstance更改为MSSQL14E。LOCALDB或mssql15 .LOCALDB。

https://weblogs.asp.net/dixin/installing-sql-server-2017-2019-localdb-and-resolve-the-engine-versioning-problem?__r=8d90635095e1cd4

其他回答

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

连接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

选择在:

数据来源:Microsoft SQL Server (SqlClient) 服务器名称:(localdb)\MSSQLLocalDB 登录服务器:使用Windows身份验证

按Refresh按钮获取数据库名称:)

以下是使用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上有关于如何为应用程序创建用户的说明

在Visual Studio 2012中,我所要做的就是输入:

(localdb)\v11.0

Visual Studio 2015和Visual Studio 2017更改为:

(localdb)\MSSQLLocalDB

添加Microsoft SQL server数据源时,将其作为服务器名:

View/Server Explorer/(Right click) Data Connections/Add Connection

然后填充数据库名称。我不需要在接受的答案中执行所有其他步骤,尽管如果服务器名称在服务器名称组合框中自动可用就更好了。

您还可以使用以下命令浏览机器上可用的LocalDB数据库名称:

View/SQL Server Object Explorer.

这对我很管用。

打开命令提示符 运行"SqlLocalDB.exe start" 输出说明"LocalDB instance "mssqllocaldb" started." 在VS中,查看/服务器资源管理器/(右键单击)数据连接/添加连接 数据来源:Microsoft SQL Server (SqlClient) 服务器名称:(localdb)\MSSQLLocalDB 登录服务器:使用Windows身份验证 按“测试连接”,然后确定。