1

次のようにいくつかの列を追加したいクラスがあります。

public partial class News : DbMigration
{
    public override void Up()
    {

        AddColumn("dbo.News", "IsSchool", c => c.Boolean());
        AddColumn("dbo.News", "City", c => c.String(maxLength: 200));
        AddColumn("dbo.News", "County", c => c.String(maxLength: 200));
        AddColumn("dbo.News", "SchoolName", c => c.String(maxLength: 200));
        AddColumn("dbo.News", "VisitDatetime", c => c.DateTime());

        Sql("UPDATE dbo.News SET IsSchool='false'");
    }

    public override void Down()
    { 
        DropColumn("dbo.News", "VisitDatetime");
        DropColumn("dbo.News", "County");
        DropColumn("dbo.News", "City");
        DropColumn("dbo.News", "IsSchool");
        DropColumn("dbo.News", "SchoolName"); 
    }
}

構成は次のとおりです。

  public sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = true;
    }

    protected override void Seed(DataContext context)
    {
        //  This method will be called after migrating to the latest version.

        //  You can use the DbSet<T>.AddOrUpdate() helper extension method 
        //  to avoid creating duplicate seed data. E.g.
        //
        //    context.People.AddOrUpdate(
        //      p => p.FullName,
        //      new Person { FullName = "Andrew Peters" },
        //      new Person { FullName = "Brice Lambson" },
        //      new Person { FullName = "Rowan Miller" }
        //    );
        //
    }
}

これをもう一度実行して、DB が更新されるかどうかを確認したいだけですか? この移行が実行されたことを確認するにはどうすればよいですか?

私はデータベースにアクセスできず、私のアプリはIsSchoolフィールドがNullable

4

1 に答える 1

3

「IsSchool」が追加された行を変更してみてください

AddColumn("dbo.News", "IsSchool", c => c.Boolean(nullable: false, defaultValue: false));
于 2012-12-12T09:28:16.090 に答える