ちょっと私は、inprocキャッシングとエンティティフレームワークの束を持つアプリケーションを持っています。エンティティに更新を書きたいときは、キャッシュされたコピーを再アタッチします。私は文脈のライフサイクルの中で私が付けてきたすべてのものを追跡するので、私はそれらを二度付けようとしません。Entity Framework:多対多関係の参照整合性制約違反
は、私は、次の言う(これは正常に動作し、本当に速いです、ほとんどの場合、非常にまれ)を取り付けないで発生したエラーしている:
参照整合性制約違反が発生しました:定義するプロパティ 値を参照制約は、関係のプリンシパルオブジェクトと依存オブジェクトの間で一貫性がありません。
正常に見えるエンティティをよく見ています。私は、この問題は、フィックスアップが実行されているときに外部キーの接続/切断が原因であると考えています。
このエラーに関する情報を得るには良い方法がありますか、エンティティがEFが期待していない状態にあった以外の理由で発生する可能性がありますか?
EDIT: DBダイアグラム
(私も単純化のためのモデルオフの正規のプロパティの束をみじん切りしました、私はちょうど図を作るためにEDMXツールを使用codefirst使用しています注意してください)
最初にコードを使用しているか、モデルを最初に使用していますか?モデルの詳細、エラーに関連する表/クラス、多対多マッピングの方法あなたが最初にコードを使用している場合、私はすべての側面を制御して同様のことを避けるために、関係を「手動で」行うことを好む。反対に、参照整合性エラーはそれを意味する可能性が高い - 私はそれがオブジェクトの状態だとは思わない、それは私が推測する同様の方法で現れることができる。 – NSGaga
私のモデルはCodeFirstを使用しています。私のモデルは本当にシンプルです。暗黙のうちにダイアグラムを投稿します。 –
ルーク、CFパートを教えてください。どのようにマップしますか?モデルクラスはどのように見えますか?これを手助けできるようにする。 – NSGaga