如何将sql server express数据库连接到VS 2017

Gus*_*rke 7 c# database sql-server visual-studio

我一直在尝试从Visual Studio 2017 Express中的c#程序连接到一个小型本地数据库,我在Sql Server Express中创建了一个表,这个问题一直存在.我想在我的解决方案(在c#中)中将它作为数据源连接到实体框架中.我已经搜索了MSDN和这个网站好几天,但还没有找到解决这个问题的方法.

现在的问题是,当我浏览实体数据模型向导(现有数据库)并建立新连接时,选择"Microsoft SQL Server数据库文件(SqlClient)"并浏览到我的数据库 - 测试连接生成错误:

无法打开物理文件"C:\ Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\MyDatabase.mdf".操作系统错误5:"5(访问被拒绝.)".尝试为文件C:\ Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\MyDatabase.mdf附加自动命名的数据库失败.存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上.

我正在以管理员身份运行Visual Studio(这已经过了一个先前的问题,甚至不能让我浏览到数据库而不会提示我没有打开数据库文件的权限的错误消息).

我可以在Visual Studio中的SQL Server对象资源管理器中查看我的数据库,其表和数据 - 无论我是否以管理员身份运行它.不确定这是否重要.我对这一切都不熟悉,如果我错过了一些明显的东西,那就很抱歉.

Gus*_*rke 7

弄清楚我的问题:在Visual Studio的"添加新数据源"向导中,我选择的选项是"Microsoft SQL Server数据库文件",因为它的描述是"使用此选项将数据库文件附加到本地Microsoft SQL Server实例" (包括Microsoft SQL Express)使用SQL Server的.NET Framework数据提供程序."

但是,我不确定为什么,这不是正确的选择.

我尝试选择"其他".

然后在下一页输入".\ SQLExpress"作为服务器名称(在connectionstrings.com/sql-server/上提到...感谢领导@ ryguy72!)

然后,在"连接到数据库"下弹出我的本地数据库列表,包括我已经使用SSMS创建的数据库.

测试连接终于工作了!