ASP.NET Core MVC无法修改默认SQL连接串问题求助
解决VS2022中Connected Service无法保存SQL Server连接串的问题
看起来你遇到的是VS Connected Services UI的一个小bug或者流程冲突问题——测试连接成功但连接串没被正确保存。别担心,我们可以通过两种方式解决:
方式一:手动修改配置文件(最直接)
Connected Services本质上也是修改配置文件,所以跳过有问题的UI直接改更高效:
- 打开项目根目录的
appsettings.json文件 - 找到
ConnectionStrings下的DefaultConnection节点,把它的值替换成你测试成功的连接串(注意JSON里的反斜杠要写两个):"ConnectionStrings": { "DefaultConnection": "Data Source=localhost\\SQLEXPRESS;Initial Catalog=abstract;Integrated Security=True" } - 保存文件后,重启VS或者重新加载项目,连接串就会生效了。你可以通过运行
Update-Database(Package Manager Console里)或者注册新用户来验证连接是否正常。
方式二:修复Connected Services流程
如果你希望通过Connected Services完成配置,试试这些调整:
- 先删除已经添加的那个有问题的Connected Service(右键项目下的Connected Services文件夹,选择删除对应的服务)
- 确保你的项目已经安装了匹配的EF Core SQL Server包:右键项目→Manage NuGet Packages,检查
Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools是否已安装,版本和你的.NET框架一致 - 重新添加Connected Service:
- 右键项目→Add→Connected Service,选择SQL Server
- 输入你的服务器和数据库信息,测试连接成功后点击Next
- 在Choose database objects步骤(如果出现),至少勾选一个数据库对象(比如某个表,或者直接勾选整个数据库)——有时候UI会因为没有选择对象而不保存连接串
- 点击Finish后,再去检查Connected Service的配置和
appsettings.json,应该就能看到连接串了
额外注意点
因为你用的是Individual Accounts模板,默认用LocalDB,切换到SQL Server Express后:
- 确保你的Windows账户对目标数据库有读写权限(测试连接成功的话,这点应该没问题)
- 如果数据库里还没有Identity相关的表,记得运行
Update-Database命令来生成这些表(Package Manager Console中执行)
内容的提问来源于stack exchange,提问作者YaKs
相关产品推荐
相关产品推荐

