我有这个db配置
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", "admin@test.com");
}
}
我在Log实体中添加了另一个字段。
实体框架可以自动检测并应用更改吗?
答案 0 :(得分:0)
如果启用了“自动迁移”,则应自动检测模型中的任何小变化。
但是对于更大的更改,例如添加新实体,我已经看到手动应用迁移,您可以使用“添加迁移”然后运行“更新数据库”