我正在开发一个使用Entity-Framework 6代码优先的现有项目。我需要在迁移运行之前运行一些SQL。
我有一个带有种子方法的DbMigrationsConfiguration类,但种子在迁移后运行。
我认为如果我在构造函数中运行SQL但它无法获取对上下文的引用,它将起作用。
有谁知道如何做到这一点?
我正在开发一个使用Entity-Framework 6代码优先的现有项目。我需要在迁移运行之前运行一些SQL。
我有一个带有种子方法的DbMigrationsConfiguration类,但种子在迁移后运行。
我认为如果我在构造函数中运行SQL但它无法获取对上下文的引用,它将起作用。
有谁知道如何做到这一点?
您可以在所需的迁移类中使用“Sql”方法。
public partial class OneOfYourMigrations : DbMigration
{
public override void Up()
{
//EF generated migration code here such as
//CreateTable or AddColumn etc...
//Now run your custom sql - here I'm doing an update to an existing column
Sql("UPDATE dbo.YourTable SET Column1 = 'VALUE1' ");
}
public override void Down()
{
//EF generated code to rollback
}
}
所以步骤是;
您可以在所需的迁移类中使用“Sql”方法。
public partial class OneOfYourMigrations : DbMigration
{
public override void Up()
{
//EF generated migration code here such as
//CreateTable or AddColumn etc...
//Now run your custom sql - here I'm doing an update to an existing column
Sql("UPDATE dbo.YourTable SET Column1 = 'VALUE1' ");
}
public override void Down()
{
//EF generated code to rollback
}
}
所以步骤是;