2

最近 Code First Migrations の使用を開始し、各Upメソッドにデータをシードしたいと考えていました。

これは可能ですか?

すなわち。

  1. データベース テーブルの作成
  2. データで埋める

ドロップの場合:

  1. 結合テーブルからデータを削除する
  2. テーブルを削除
4

2 に答える 2

6

はい、可能ですが、SQL コマンドを実行して行う必要があります。移行のメソッドとメソッドのSql両方でメソッドを使用して、 SQL コマンドを実行します。UpDownINSERTDELETE

于 2012-07-23T12:16:48.780 に答える
3
public partial class DBInitializer : IDatabaseInitializer<DBContext>
{
    public void InitializeDatabase(DBContext context)
    {

        var cfg = new Migrations.Configuration();
        var migrator = new DbMigrator(cfg);

        List<string> pendingMigrations = new List<string>(migrator.GetPendingMigrations());

        foreach (string migration in pendingMigrations)
        {
            Console.WriteLine("Updating Migration:" + migration);
            migrator.Update(migration);
            Console.WriteLine("Updated Migration:" + migration);

            if (migration.Contains("AddMyProperty"))
            {
                // seed data codes
                context.SaveChanges();
            }                
        }

    }

}
于 2012-10-26T12:45:31.127 に答える