2012-02-12 12 views
5

私のアプリケーションでは、データベースをシードするコードから呼び出すメソッドがあります。 。"...オブジェクトコンテキストの更新中にエラーが発生しました。ObjectContextが矛盾した状態になっている可能性があります...."

私はちょうどデータベースにさらに多くのデータを追加する新しい大きな方法を作成しました。

私はこれを呼び出すと、私が前の試行の数分以内に再びそれを実行した場合、私は次のエラーを取得する、罰金それが実行された最初の時間を動作するように見えますが、:

The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. Inner exception message: AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager. Make sure that the key values are unique before calling AcceptChanges.

私はこれを解決する方法が不明です、誰も助言することができますか? (最後の試行の数分以内にこれを実行しないこと以外は!)。

+1

可能複製([InvalidOperationExceptionが.NETエンティティフレームワークでのSaveChangesを呼び出す] http://stackoverflow.com/questions/1008582/invalidoperationexception-when-calling-ようEntityTypeConfigurationファイル内のキーを定義します。 – Eranga

+0

@Eranga - 私はそれを読んだことがありますが、私はその問題に関連することはできませんし、その解決策でこれを修正することはできません。 – Wil

+0

関連するクラス(少なくともPKとFKのプロパティ)についての洞察がなくても、答えにくいです。 –

答えて

0

の可能性のある重複:ここ

+2

おそらく "コメントがあったはずです"。 –

+0

申し訳ありませんが、念頭に置いて! :) – Abbas

2

このエラーは、プライマリキー(コンポジットキー)がデータベースのように正しく定義されていないエンティティモデルを保存しようとすると通常発生します。

this.HasKey(f => new { f.ID1, f.ID2 }); 
関連する問題