ねえ、私はたくさんのinprocキャッシングとエンティティフレームワークを備えたアプリケーションを持っています。エンティティに更新を書き込みたい場合は、キャッシュされたコピーを再アタッチします。コンテキストのライフサイクルで添付したものをすべて追跡するので、それらを2回添付しようとはしません。
アタッチ時にエラーが発生します(ほとんどの場合、これは正常に機能し、非常に高速です)。これは次のようになります。
参照整合性制約違反が発生しました:参照制約を定義するプロパティ値が、関係のプリンシパルオブジェクトと依存オブジェクトの間で一貫していません。
私は、正常に見えるエンティティを非常に注意深く調べました。この問題は、修正が実行されたときの外部キーのアタッチ/デタッチが原因だと思います。
このエラーに関する詳細情報を取得するための良い方法はありますか、それともエンティティがEFが予期していなかった状態にあった以外の理由で発生する可能性がありますか?
編集:DBダイアグラム(コードファーストを使用していることに注意してください。EDMXツールを使用してダイアグラムを作成しました。また、簡単にするために、モデルから多数の通常のプロパティを切り取りました)