トランザクションスコープ内でEntity Frameworkとユニットテストを実行しています。我々は元々タイトルに誤りを抱えていた。廃棄オブジェクトにアクセスできません。トランザクション
私は何か問題を特定することができました。
using (TransactionScope scope1 = new TransactionScope())
{
using (TransactionScope scope2 = new TransactionScope())
{
// Here there is no code
}
using (Entities se = new Entities())
{
EntityConnection entityConnection = (EntityConnection)se.Connection;
DbConnection storeConnection = entityConnection.StoreConnection;
storeConnection.Open(); // On this line the error occurs
// Some code that runs a stored procedure
}
}
我々が現在取得しているエラーは、「操作はトランザクションの状態には有効ではありません..」である
私はトランザクションscope2を削除すると、すべてが正常に動作します。
スコープ2をアンビエントトランザクションとしてマークすると、正常に動作します。
それを固定おかげで、私は(scope2.completeがありませんでした) –