0

次のような(簡略化された)エンティティモデルがあります

public class Address {
}

public class PersonAddress {
  public Address Address {get; set;}
}

public class Person {
  ICollection<PersonAddress> Addresses { get; set;}

  public void SetAddresses(params Address addresses[]) {
    Addresses.Clear();
    addresses.Select(a => new PersonAddress(this, a)).ForEach(Addresses.Add);
  }
}

これは、私のビジネス モデルでは多対多よりも実際に意味があるため、意図的に結合クラスとして実装されています。

当然のことながら、SetAddressesが実行されると、データベースで何が起こるかというと、PERSON_ADDRESS.FK_PERSON_ID削除されたPERSON_ADDRESSレコードの参照が無効になります。しかし、私が望むのは、それを完全に削除することです。

編集:以下のコメントから、私が望むのはおそらくPersonAddress「識別関係」を持つことであると理解してPersonいますが、上記のモデルを流暢なAPIを使用してどのように設定すればよいですか?

4

0 に答える 0