执行migrate.exe后,数据库更改不是vsiisble

时间:2016-06-29 10:15:34

标签: entity-framework entity-framework-6

我正在使用实体框架6.1。我使用基于代码的迁移,即Migrate.exe来更新我的数据库(向表中添加新属性)。 Migrate.exe执行正常,我在我的SQL Server数据库上刷新,但新添加的列不可见。 我在表中插入了一行并检查了表,发现现在新列已添加到表中。 我想知道为什么这个新创建的列在执行migrate.exe后不能立即看到,为什么我必须点击数据库才能看到我的更新模型更改?

请回复。

我使用了以下数据库上下文和初始化程序。

public class AMLDBContext : DbContext
{

    public DbSet<Template> Templates { get; set; }
    public DbSet<Property> Properties { get; set; }


    public AMLDBContext()
    {
         Database.SetInitializer(new MigrateDatabaseToLatestVersion<AMLDBContext, Migrations.Configuration>());
    }

    protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {

        modelBuilder.Entity<Property>().HasKey(s => new { s.PropertyName, s.TemplateId });
        modelBuilder.Entity<ReturnAttribute>().HasKey(s => new { s.AttributeName, s.TemplateId });
        base.OnModelCreating(modelBuilder);

    }

}

我使用了以下命令来运行migrate.exe。

migrate.exe AutoDbUpgrade.exe  /StartUpDirectory:"C:\TestProject\AutoDbUpgrade\AutoDbUpgrade\bin\Debug"  /startupConfigurationFile=”AutoDbUpgrade.exe.config” /verbose

0 个答案:

没有答案