ASP.NET Core 5.0 MVC教程执行ef数据库更新报server关键字不支持错误
问题根源
你在代码中配置了开发环境使用SQLite数据库、生产环境使用SQL Server数据库,但你使用的连接字符串是SQL Server格式的,包含Server关键字,SQLite的连接字符串规则不识别该关键字,所以触发报错。你之前把连接字符串加到appsettings.Development.json依然报错,是因为你没有将连接字符串更换为SQLite支持的格式。
解决步骤
- 修改
appsettings.Development.json,添加SQLite专用连接字符串配置,修改后文件内容如下:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "ConnectionStrings": { "MvcMovieContext": "Data Source=MvcMovie.db" } }
appsettings.json中的原有SQL Server连接字符串不需要修改,生产环境运行时会自动读取该配置使用SQL Server,不影响生产逻辑。
- 删除项目中已生成的错误迁移文件,即项目根目录下的
Migrations文件夹,整体删除即可。 - 重新执行迁移命令:
dotnet ef migrations add InitialCreate dotnet ef database update
执行完成后即可正常完成数据库初始化,项目根目录下会生成MvcMovie.db的SQLite数据库文件。
内容的提问来源于stack exchange,提问作者verified_tinker
相关产品推荐
相关产品推荐

