0

最初に EF コードを使用してエンティティを編集しようとすると、次のエラーが発生します。

参照整合性制約違反が発生しました。参照制約を定義するプロパティ値が、リレーションシップ内のプリンシパル オブジェクトと従属オブジェクトの間で一貫していません。

私のエンティティは、State と関係のある Producer です。編集用の私のコードは以下のようなものです:

Producer producer = this.DataContext as Producer;
context.Producers.Attach(producer);
context.Entry(producer).State = EntityState.Modified;
context.SaveChanges();
4

1 に答える 1

0

私は解決策を見つけます。以下のコードを使用すると問題なく動作しますが、それが最善の方法であるかどうかはまだわかりません。

Producer producer = this.DataContext as Producer;
Producer p = context.Producers.Find(producer.Id);
context.Entry(p).CurrentValues.SetValues(producer);
context.SaveChanges();
于 2012-09-10T04:55:18.673 に答える