これが私の問題です
formAとformBの2つのフォームがあり、formBはformAのダイアログとして機能します
で定義された formA の範囲内
EntityContext contextA = new EntityContext();
formA のどこかで、呼び出します
new formB().ShowDialog();
ShowDialog() を呼び出すと、
contextA.SaveChanges(); //<<<A>>>
で定義された formB クラス内
EntityContext contextB = new EntityContext();
どこかできっかけになった
{
bool transactionSucceed = false;
using(Transaction transaction = new Transaction())
{
contextB_DataOperations();
contextB.SaveChanges();
transaction.complete();
transactionSucceed = true;
}
if(transactionSucceed)
contextB.AcceptAllChanges(); // <<<B>>>
}
formB は破棄可能です。破棄するときに呼び出します
contextB.Dispose();
問題が発生している場所は、 でのトランザクション操作データのコミットが予想されますが、<<<B>>>
実際には でコミットされます<<<A>>>