私は、私が作業しているlinq to SQLアプリケーションを持っています。新しいアイテムを作成していて、データベースに登録しようとしていました(挿入)。たまには重複したキーの例外が発生しますが、実際には時々期待されます。問題は、例外がスローされると、有効な項目を挿入することができないということです。それは私に同じエラーを与え続ける。アプリを再起動すると問題が解決し、新しい値を挿入できます。アイデア?DuplicateKeyExceptionsからの回復
1
A
答えて
1
SubmitChanges
が失敗した場合、保留中の変更はすべて再試行のために保持されます。これにより、例外を捕捉し、オブジェクトを更新して再試行することができます。
これが問題になる場合は、DataContextの保存時間が長すぎる可能性があります。私はあなたが同じDataContextを使用して、再試行していると仮定します。 DataContextは、非常に短命のオブジェクトである必要があります。これは、SubmitChanges
の直後に配置されます。
代替方法は、DataContext.GetChangeSet()
またはChangeConflicts
プロパティから返された値を調べ、エラーを修正してサブミットを再試行する方法です。保留中の挿入リストからオブジェクトを削除するにはDeleteOnSubmit()
を使用できます。
+0
ありがとう、これは役立ちます。 – Geoff
関連する問題
- 1. Qtのエラーから回復
- 2. WCFのCommunicationObjectFaultedExceptionからの回復
- 3. Caliburn.Micro:IResultでの例外からの回復
- 4. ブーストASIO:ハンドラ例外からの回復
- 5. データファイルからmysqlデータベースを回復する
- 6. WooCommerceセッションデータからカートを回復
- 7. Xcodeから.storyboardファイルを回復する
- 8. Gitオブジェクトからファイルを回復する
- 9. Python/MechanizeでECONNRESETから回復する
- 10. Rails - Production.logからデータベースを回復する
- 11. ウィンドウからMac OSを回復する
- 12. カスタムリンクからデータベースからデータを回復する
- 13. テーブルの回復/リストア
- 14. 2回の反復
- 15. ブートストラップドロップダウンパスワード回復サブメニュー
- 16. アンドロイド - AlarmManager回復
- 17. mysqlのバイナリログから特定のテーブルデータを回復するには?
- 18. Angularjsの子どもの中からデータを回復する
- 19. ハウツーは、Eclipseでのマージ悪いのgitから回復
- 20. ATTのアセンブリコードからCコードを回復する際に異なる回答
- 21. rxjsのエラーから回復するには?
- 22. IISの展開からASP.NETプロジェクトを回復
- 23. 「デタッチヘッド状態」からのコミットを回復するには?
- 24. 火災基地からデータを回復するためのIICYC
- 25. ファイルから自分のデータベース構造を回復する
- 26. 多くのmysql binログファイルからデータベースを回復します
- 27. パニックから回復するメインとテストの違いは?
- 28. Pythonのデバッグ時に例外から回復するには?
- 29. .un〜ファイルから復旧コマンドなしでvimファイルを回復する
- 30. Log4Jはディスクいっぱいから回復できますか?
例外からどのように処理して復旧していますか? –