.NET 6 EF Core API中update-database命令执行失败求助
解决.NET 6 EF Core中
update-database报错"The ConnectionString property has not been initialized"的问题 问题核心是连接字符串名称不匹配:
appsettings.json中连接字符串的键为DefaultConnection- 但
Program.cs里调用GetConnectionString("MovieContext")时传入的名称是MovieContext,与配置中的键不一致,导致update-database无法读取到有效连接字符串从而初始化失败。而add-migration能正常运行是因为该操作仅生成迁移文件,不需要立即建立数据库连接。
修复方案(二选一即可)
方案1:修改Program.cs中的连接字符串名称
将Program.cs里的GetConnectionString参数改为配置文件中对应的DefaultConnection:
builder.Services.AddDbContext<MovieContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
方案2:修改appsettings.json中的连接字符串键
将appsettings.json里的DefaultConnection改为MovieContext,与代码中的参数保持一致:
"ConnectionStrings": { "MovieContext": "Server=(localdb)\\mssqllocaldb; Database=MovieContext; Trusted_Connection=True; MultipleActiveResultSets=true" }
修复完成后,重新执行update-database命令即可正常完成数据库更新。
内容的提问来源于stack exchange,提问作者Muhammad Bilal
相关产品推荐
相关产品推荐

