我有一个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)
{
}
答案 0 :(得分:0)
EF Code-First将查看您的DbContext,并发现其中声明的所有实体集合(并通过导航属性查看与这些实体相关的实体)。然后,它将查看您为其提供连接字符串的数据库,并确保那里的所有表都与模型中实体的结构匹配。如果它们不匹配,则它将无法读/写这些表。
选项1
您可以在Code-First( DropCreateDatabaseAlways
)中使用数据库初始化策略来更新测试环境数据库。有关更多信息,请参阅:
选项2
您可以更新测试环境,然后添加空白迁移。有关更多信息,请参阅:
http://devgush.com/2016/02/05/entity-framework-code-first-migrations-in-a-team-environment/