質問: TL&DR:同一のレコードをデータベースに配置しようとしているいくつかの並行タスク。本質的にいくつかのタスクが起動され、同一である可能性があるいくつかのファイルを開いています。 IPアドレスに基づいて、すべての情報を強くネストしたテーブルに保存することが重要です。これが私がこれまでの4日間の仕事で試したことです(クリスマスの間でさえ!) * do while()ループ内で(context.Rollback()を使用して)トランザクションを使用しようとしました。 * 各インサートにランダムなスリープを設定して競合状態を止めようとしました[うまくいきませんでした]。 * コードをもうAsycにしませんでした。 [うまくいきませんでした。] * 現在のアルゴリズムは機能せず、ペグのCPU! [動作しません!] * EACHオブジェクトを個別にテーブルに個別に追加します[うまくいきませんでした]。 挿入中、各オブジェクトは増加します。これが意味がないのはこのためです。私は言葉を失いつつあります。 オブジェクトの関係 ``` IP has many Incidents; ```
回答: 私はあなたがこれらの行に問題があるかもしれないと思います: ``` Vendor vendorInstancer = new Vendor(); vendorInstance.IncidentID = IncidentId; context.Vendors.Add(vendorInstancer); ``` 変数名に注意してください。 `vendorInstancer`作成しますが、 `vendorInstance` IDを更新します。つまり、データベースに保存しているエンティティではありません。その1文字の違いを見つけるのは難しいです。