ASP.NET Core 6.0执行Update-Database遇“Keyword not supported: "server”错误求助
解决ASP.NET Core 6.0 Update-Database报错“Keyword not supported: 'server'”的办法
问题根源
你的连接字符串同时配置了SQL Server身份验证(User Id+Password)和Windows身份验证(Trusted_Connection=True),这两种验证方式互斥,是触发错误的核心原因。另外EF Core虽兼容server关键字,但身份验证冲突才是问题关键。
修复步骤
1. 修正连接字符串
根据实际使用的验证方式二选一调整:
- 若使用SQL Server账号(如sa):移除
Trusted_Connection=True,修改后的连接字符串:
"DefaultConnection": "server=servername; database=EmployeeDB; User Id=sa; Password=xxx; MultipleActiveResultSets=True;"
- 若使用Windows身份验证(当前电脑登录账号):移除
User Id和Password,修改后的连接字符串:
"DefaultConnection": "server=servername; database=EmployeeDB; Trusted_Connection=True; MultipleActiveResultSets=True;"
2. 确认DbContext配置正确
在Program.cs中,需确保DbContext绑定了SQL Server的配置,代码示例:
builder.Services.AddDbContext<YourDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
注意不要误写为其他数据库的扩展方法(如UseSqlite),否则也会触发关键字不支持的错误。
3. 重新执行迁移命令
打开包管理器控制台,依次执行以下命令:
Add-Migration InitialCreate -Force Update-Database
-Force参数会覆盖旧的迁移文件,确保配置变更生效。
额外检查项
- 确认
servername是正确的SQL Server实例名,本地实例通常为localhost或.\SQLEXPRESS - 检查SQL Server服务是否处于运行状态
- 确保sa账号已启用、密码正确,且拥有创建数据库的权限
内容的提问来源于stack exchange,提问作者Prafull
相关产品推荐
相关产品推荐

