0

アプリケーションの起動時に(DbMigrationから拡張された)クラスを実行したいと思います。

現在、スタートアップには次のコードがあります。

Database.SetInitializer(new MigrateDatabaseToLatestVersion()); Database.Initialize(false);

これは正常に機能しており、データベースへの接続を作成している構成を呼び出します。唯一のことは、データベースの変更がサーバー上で実行されるように、DbMigrationクラスがどのように実行されるかがわからないことです。

このコードは問題なく実行されます。

public class Configuration : DbMigrationsConfiguration<CustomerDbContext>
    {
        public Configuration()

         {
            PgSqlConnectionInfo connectionInfo =
                PgSqlConnectionInfo.CreateConnection(
                    "User Id=postgres;Password=postgres;Host=localhost;Port=5432;Database=etera;Schema=dev;");
            TargetDatabase = connectionInfo;
            SetSqlGenerator(connectionInfo.GetInvariantName(), new PgSqlEntityMigrationSqlGenerator());
        }

    }

次のコードは実行されません-テーブルを作成する必要があります:

public class CreateBlogTable : DbMigration
    {
        public override void Up()
        {
            CreateTable(
                "Blogs",
                c => new
                         {
                             BlogId = c.Int(nullable: false, identity: true),
                             Name = c.String(unicode: false),
                         })
                .PrimaryKey(t => t.BlogId);
        }

        public override void Down()
        {
            DropTable("Blogs");
        }
    }
4

0 に答える 0