web-dev-qa-db-ja.com

EFコードの最初の移行シードメソッドにブレークポイントを設定できますか?

エンティティフレームワーク6のコードファースト移行プロセスのConfigure.csSeedメソッドで問題が発生しています。 Update-Database -verbosePackage Manager Consoleコマンドを実行し、Seedメソッドのc#コードでブレークポイントを設定しようとしました(VS studio web express 2013)。しかし、メソッドの最初のステートメントにそれを置いても、コンソールにはrunning seed methodが表示されますが、ヒットしません(その後、エラーのために壊れます)

では、どういうわけかSeedメソッドにブレークポイントを設定できますか?そうでない場合、そのコードをデバッグするための最良の方法は何ですか?

19
EluciusFTW

ソースコード内で直接行うことはできませんが、ソースコードを介してデバッガーをアタッチできます。詳細については、 このリンク を参照してください。

if (System.Diagnostics.Debugger.IsAttached == false)
   System.Diagnostics.Debugger.Launch();

もう1つのオプションは、上記で説明したように、ソースコードを介して移行を実行することです。

var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update();
41
Stephen Reindl

Update-Databaseデバッグセッションが不足しているため、ブレークポイントを設定できません。 Seedメソッドは、ダミーメソッドのように、コード内の他の場所で実行して、アプリ内から開始できます。

1
Mike Cole