移行があり、移行が実行されるたびに実行されるシード メソッドがあります。
シード メソッドが失敗した場合は、シード データをロールバックできますが、コードで "update-database" ステートメントをロールバックして、db 構造を以前の状態に復元することも必要です。
これは可能ですか?
いくつかのコード:
internal sealed class Configuration : DbMigrationsConfiguration<TheContext>
{
protected override void Seed(TheContext context)
{
//Set a bunch of entities
using (var transaction = new TransactionScope())
{
try
{
context.SaveChanges();
transaction.Complete();
}
catch (Exception ex)
{
//TODO: How do I rollback the last Update-Database command?
throw;
}
}
}