に関連するエンティティを削除します。しかし、操作がエラーを起こす:は、私は、このドメインを持つ1対多の関係
// actually loads person from repository...
var person = _personRepository.Include(p => p.Phones).Where(p => p.Id == 1).First();
person.Phones.Clear();
_personRepository.Update(person);
あなたの上にPerson
をロードし、そのPhones
をクリアするsimpledロジックを見ることができます。しかし、このエラーが発生します。
The operation failed: The relationship could not be changed because one or more of the foreign-key properties is non-nullable. When a change is made to a relationship, the related foreign-key property is set to a null value. If the foreign-key does not support null values, a new relationship must be defined, the foreign-key property must be assigned another non-null value, or the unrelated object must be deleted.
実は私はPerson.Phones
のすべてをクリアして、いくつかの新しいアイテムを追加します。しかし、私は1つのクエリでそれらをクリアし、1つずつ削除しないことを望みます。
ご存知ですか?私を助けてくれますか?前もって感謝します。
あなたはそれをGoogleにしましたか?これについて多くの質問と回答があります。 – Eranga
外部キーをnullに設定する必要があるようです。 FKはintまたはintとしてリストされていますか? –
@エランガ私はそれをgoogled。 'Phones'を繰り返して一つずつ削除する方法がいくつかあります!しかし、「NH」では、私が上に示したようにこれを非常に簡単に行うことができます。私は 'EF'で同じ方法を求めています。 –