Asp.net core 使用实体框架在生产服务器上迁移
我想在我的服务器上应用迁移,但出现了一个错误,要求我指定项目,但当我指定项目时,又出现了另一个错误 然而,他们在发展中工作 以下是第一个错误:Asp.net core 使用实体框架在生产服务器上迁移,asp.net-core,entity-framework-core,entity-framework-migrations,Asp.net Core,Entity Framework Core,Entity Framework Migrations,我想在我的服务器上应用迁移,但出现了一个错误,要求我指定项目,但当我指定项目时,又出现了另一个错误 然而,他们在发展中工作 以下是第一个错误: dotnet ef database update 未找到任何项目。更改当前工作目录或使用--project选项 这里是第二个: dotnet ef database update --project Devystri /var/www/devystri/devystri(1,1):错误MSB4025:无法加载项目文件。根级别的数据无效。第1行,位置
dotnet ef database update
未找到任何项目。更改当前工作目录或使用--project选项
这里是第二个:
dotnet ef database update --project Devystri
/var/www/devystri/devystri(1,1):错误MSB4025:无法加载项目文件。根级别的数据无效。第1行,位置1。无法检索项目元数据。确保它是SDK样式的项目。如果使用的是自定义BaseMediateOutputPath或MSBuildProjectExtensionsPath值,请使用--MSBuildProjectExtensionsPath选项 这里是我的迁移文件:
谢谢大家! 解决方案是将其添加到Program.cs中:
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<MyDbContext>();
try
{
db.Database.Migrate();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
host.Run();
}
publicstaticvoidmain(字符串[]args)
{
var host=CreateHostBuilder(args.Build();
使用(var scope=host.Services.CreateScope())
{
var db=scope.ServiceProvider.GetRequiredService();
尝试
{
db.Database.Migrate();
}
捕获(例外e)
{
控制台写入线(e.Message);
}
}
host.Run();
}
确保数据项目设置为启动项目,并在package manager控制台中尝试更新数据库-p dataThank you,但我尝试在linux服务器上进行迁移,因此我没有package manager控制台