エンティティ フレームワーク 4.0 を使用しており、テーブルがあります。このテーブルでは、フィールドの 1 つに一意の制約があります。
新しいレジスタを追加するときは、次のようにします。
1.- 既存のレコードで、一意のフィールドの値を再計算します。この値は、すべてのレジスタの値を追加および変更する新しいレジスタに依存します。
2.- 新しいレコードの一意のフィールドを計算します。
3.- 一意の値を持つ新しいレジスタを追加します。
変更を保存する瞬間に、レジスターの値を確認すると、一意のフィールドに重複する値がないことがわかります。
ただし、変更を保存すると、一意の値の例外が発生します。これは、既存のレジスタの 1 つの値を変更し、それを変更して、この値を新しいレコードに割り当てるためです。
エンティティ フレームワークが最初に新しいレコードを追加し、他のレコードがまだ古い値を保持していると、例外が発生します。EF は最初に既存のレコードを更新してから新しいレコードを追加して、正しい情報を比較することを保証しませんか?
本当に私が推測するのは、EFの通常の行動ですか?これが本当なら、どうすればこの問題を解決できますか?
ありがとう。