2 つのオブジェクト (多対多) のサイトとメンバーがあり、部分的に次のように表示されます。
public class Site
{
public Site()
{
SiteAuthors = new List<Member>();
}
public virtual IList<Member> SiteAuthors { get; set; }
...
}
public class Member
{
public Member()
{
AuthoredSites = new List<Site>();
}
public virtual IList<Site> AuthoredSites { get; set; }
...
}
マッピングをデフォルトのままにしました。オーバーライドは次のようになります。
public class MemberOverride : IAutoMappingOverride<Member>
{
public void Override(AutoMapping<Member> mapping)
{
mapping.HasManyToMany(x => x.AuthoredSites).Cascade.AllDeleteOrphan();
}
}
public class SiteOverride : IAutoMappingOverride<Site>
{
public void Override(AutoMapping<Site> mapping)
{
}
}
サイトとメンバーを適切に削除できません。
オーバーライドで逆マッピングのさまざまな組み合わせを試しましたが、必然的に必要なケースの 1 つが機能しません。
私が達成したいのは、サイトからすべてのメンバーを削除すると (他のサイトの作成者になる可能性があることを思い出してください)、サイトを削除したいということです。
メンバーからサイトを削除すると、そのサイトの作成者が他にいない場合にのみサイトを削除する必要があります。
使用する正しいオーバーライドまたはマッピング構成は何ですか?
ご協力いただきありがとうございます。