私は答えていますが、解答が見つかりません。
私は私の理解(と私の場合)に応じて、この質問を言い換えてみましょう:私はのみの構成としてのObjectContextを受け入れる動的データを、使用しています
。あなたは、あなたのようなプロパティ「IObjectContextAdapater.ObjectContext」を渡す必要があります(コードファーストで移動するための方法である)DbContextを使用する場合は、次の
DefaultModel.RegisterContext(() => { return ((IObjectContextAdapter) new MyDbContext()).ObjectContext; }, new ContextConfiguration() { ScaffoldAllTables = true });
ここでの問題は、あなたが変更を保存すると、 MyDbContextのSaveChangesメソッドが呼び出されず、代わりにDynamic DataがMyDbContext.ObjectContext内のSaveChangesメソッドを呼び出します。 この場合、MyDbContextのSaveChangesをオーバーライドすることは無意味です。
ObjectContextプロパティのSaveChangesにアクセスして、カスタムコードを記述できるように動作を変更するにはどうすればよいですか?
しかし、いずれにせよ、私は正しい見つけソリューションはObjectContextをプロパティにSavingChangesイベントのイベントハンドラを追加して上記の質問に「ルネ」でコメントしていた、ここにリンクが再びです:
http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.savingchanges.aspx
これがクリアされることを希望します。
変更がコミットされていない場合。 –
私はSaveChanges()を呼び出していません。 SaveChanges()の可能な呼び出し元がたくさんありますので、SaveChanges()の後に呼び出すことができるように、それらのすべて(もし可能であれば)に行って編集するのではなく、DbContextでcatchすることを望んでいました。 – John
イベントSavingChangesに接続できませんか? http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.savingchanges.aspx – rene