EF Code First迁移突然停止应用

时间:2019-06-06 12:17:44

标签: asp.net-core azure-web-sites ef-migrations

我有一个asp.net core 2.2 Web应用程序。我在Visual Studio 2019中打开了它,并发布了与我发布了几个月的相同应用程序服务。刚才,我注意到我的最新EF迁移不适用。我研究了它,发现与此有关的某种VS 2019错误。我在VS 2017中打开了解决方案并尝试发布,但仍然无法应用迁移。我该如何解决? ANyone对于如何解决这个问题有什么建议?

public class AppDbContext : DbContext
{
    public DbSet<MyEntity> MyEntities { get; set; }
    //Bunch of other DbSet's here...

    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
    {

    }

1 个答案:

答案 0 :(得分:0)

EF Code-First将查看您的DbContext,并发现其中声明的所有实体集合(并通过导航属性查看与这些实体相关的实体)。然后,它将查看您为其提供连接字符串的数据库,并确保那里的所有表都与模型中实体的结构匹配。如果它们不匹配,则它将无法读/写这些表。

选项1

您可以在Code-First( DropCreateDatabaseAlways )中使用数据库初始化策略来更新测试环境数据库。有关更多信息,请参阅:

http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

选项2

您可以更新测试环境,然后添加空白迁移。有关更多信息,请参阅:

http://devgush.com/2016/02/05/entity-framework-code-first-migrations-in-a-team-environment/