启用实体框架自动迁移不起作用

问题描述 投票:4回答:1

我有这个数据库配置

public class AppDbContext : DbContext 
    {

         public AppDbContext(string connectionStringOrName)
            : base(connectionStringOrName)
        {
            Database.SetInitializer(new AppDbInitializer());
        }

         public AppDbContext()
             : this("name=AppDbContext")
        {

        }

         public DbSet<User> Users { get; set; }
         public DbSet<Log> Logs { get; set; }
    }

我有这个迁移配置

public class AppDbInitializer : MigrateDatabaseToLatestVersion<AppDbContext,AppDbMigrationConfiguration>
{
}


  public class AppDbMigrationConfiguration : DbMigrationsConfiguration<AppDbContext>
    { 
        public AppDbMigrationConfiguration()
        {
            AutomaticMigrationsEnabled = true;
            AutomaticMigrationDataLossAllowed = true;
        }

        protected override void Seed(AppDbContext context)
        {
            if (context.Users.Any()) return;

            AddAdmin(context, "Admin", "[email protected]");
        }
   }

我在Log实体中添加了另一个字段。

实体框架可以自动检测并应用更改吗?

c# entity-framework ef-migrations automatic-migration
1个回答
0
投票

如果启用了“自动迁移”,则应自动检测模型中的任何小变化。

但是对于更大的更改,例如添加新实体,我已经看到手动应用迁移,您可以使用“添加迁移”然后运行“更新数据库”

© www.soinside.com 2019 - 2024. All rights reserved.