Entity framework 在应用程序代码中执行代码优先迁移
我想在应用程序启动时执行我的类(从DbMigration扩展而来) 目前,我在启动中有以下代码: Database.SetInitializer( 新的MigrateDatabaseToLatestVersion()); 数据库初始化(false) 这工作正常,并调用正在创建到数据库连接的配置。唯一的问题是我不知道如何执行我的DbMigration类,以便在服务器上执行数据库更改 执行此代码时没有任何问题:Entity framework 在应用程序代码中执行代码优先迁移,entity-framework,code-first,Entity Framework,Code First,我想在应用程序启动时执行我的类(从DbMigration扩展而来) 目前,我在启动中有以下代码: Database.SetInitializer( 新的MigrateDatabaseToLatestVersion()); 数据库初始化(false) 这工作正常,并调用正在创建到数据库连接的配置。唯一的问题是我不知道如何执行我的DbMigration类,以便在服务器上执行数据库更改 执行此代码时没有任何问题: public class Configuration : DbMigrationsCon
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());
}
}
您是使用addmigration命令创建新迁移还是刚刚创建了一个类?我刚刚创建了这个类。手动创建命令时,该命令执行的其他步骤有哪些?它使用序列化模型创建其他自动生成的文件。您的问题的答案是:使用Add-Migration。听起来像是解决方案。如果你加上它作为答案,我会接受的。
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");
}
}