【发布时间】:2021-09-16 17:31:22
【问题描述】:
【问题讨论】:
-
请始终将错误粘贴为文本,而不是图像
标签: asp.net entity-framework asp.net-core entity-framework-migrations
【问题讨论】:
标签: asp.net entity-framework asp.net-core entity-framework-migrations
如果您使用多个项目,请先编译,也可以删除多个项目运行设置。尝试选择一个项目(例如,您可以选择您的 api 项目)。确保你的构造方法设置正确。
例如:
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
如果您使用不同的环境设置,例如开发、登台或生产,您可以将 AddDbContext 行为移出 if-else 语句。
例如:
else if(_env.IsStaging() || _env.IsProduction())
{
services.AddMemoryCache();
services.AddDbContext<AppDbContext>(options =>{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});
}
在添加迁移之前,我将 AddDbContext 部分移出 if 块。您还可以在包管理器控制台上定义环境,例如:
$ASPNETCORE_ENVIRONMENT = "暂存"
如果你检查你的 Properties -> launchSettings.json 你可以看到:
"WebAPI": {
"commandName": "Project",
"dotnetRunMessages": "true",
"launchBrowser": false,
//"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging" //here
}
}
如果一切都失败了,回到成为 IT 的第一条规则
【讨论】: