私は、多くの新しいオブジェクト(行)とそれらの間の関係を挿入しているアプリケーションに取り組んでいます。しかし、エラーが発生した特定の時点で、私はDataContextへのすべての変更を無効にして "破棄"したいと考えています。そのため、エラーが発生した後、データベースの状態に一致するDataContextのクリーンコピーが作成されます。datacontextを最後のsubmitchangesのポイントにロールバックする方法
2
A
答えて
1
編集
また、あなたはDataContext.Transactionを利用して、そして.Commit()
または.Rollback()
変更にそれを使用することができます。ただ、DataContextの&がそれを再インスタンス化すること
ORIG
を捨てます。
のような何か...
public void MyMethod(string connStr)
{
try
{
DataClasses1DataContext dc = new DataClasses1DataContext(connStr);
for (int i = 0; i < 100; i++)
{
try
{
//Do Stuff
//Insert Objects
dc.SubmitChanges();
}
catch (Exception ex) //So if it bombs in the loop, log your exception
{
Log(ex);
}
finally //Reinstantiate your DC
{
dc = new DataClasses1DataContext(connStr);
}
}
}
catch (Exception bigEx)
{
Log(bigEx);
}
}
1
はまた、usingステートメントでのTransactionScopeを使用することができます。 TransactionScopeで.Complete()を呼び出さないと、すべての変更が処理時にロールバックされます(usingステートメントを終了するときに発生します)。
関連する問題
- 1. cruisecontrolを使って最後のビルドにロールバックする方法は?
- 2. mpAndroidChart:LineChartの最後のポイントに値を表示する方法は?
- 3. パスの最後にポイントを追加する方法
- 4. DataContextフリーズを最適化する方法
- 5. git pull後にロールバックする方法
- 6. Laravelで最後にシードするロールバック5.2
- 7. 変更をすべてロールバックせずに、最近のバンドルのアップデートをロールバックする方法はありますか?
- 8. 挿入後にJPAロールバック例外を防止する方法は?
- 9. エラーが発生した後にトランザクションをロールバックする方法
- 10. Java Transaction:ロールバック後にプログラムを停止する方法は?
- 11. Redux、特定のポイントへのロールバック状態
- 12. Flotチャートの最後のポイントのみを表示するには
- 13. menuItemイベントの後にドロップダウンリストをロールバックする
- 14. フロート変数のポイントの後に5桁を得る方法は?
- 15. linqtosqlパーシャルDataContextクラスの実装 - 前後の値の検査方法
- 16. 最後のポイントにラベルを追加するmatplotlib折れ線グラフ
- 17. は、私はまだ)(のSubmitChangesを呼び出すことなく、LINQツーSQLのDataContextに新しいオブジェクトを挿入でSubmitChanges
- 18. テスト後に特定のレコードをロールバックする方法はありますか?
- 19. 最後の値を最後に抽出する方法:文字ですか、最後のカンマの後に?
- 20. 最後に削除されたSQL Serverテーブルの削除されたデータをロールバックする方法
- 21. vb.netのデータをロールバックする方法
- 22. Joomla 3.6.2を3.6.0にロールバックする方法
- 23. Cロールバックする方法
- 24. 最後の親にバインドする方法
- 25. Oracleでのトリガーとロールバック後のレコードの保持方法
- 26. ロールバック後に空のテーブルを返す
- 27. T-SQL:DBCC CHECKCONTRAINTSの後にロールバックする方法はありますか?
- 28. datacontextでトランザクションを使用する方法
- 29. DataContextを継承する方法
- 30. DataContextを移動する方法