0

互いに直接関係のないテーブルから削除をカスケードする方法は (Fluent NHibernate で) ありますか? 以下の状況があります。

関係図

私が望んでいるのは、CustomerProduct が削除されたときに認証がカスケード削除されることです (auth.Customer = cp.Customer および auth.Product = cp.Product)。

Authorization は最近まで CustomerProduct と直接的な関係を持っていましたが、そこから切り離されているため、その方法で問題を解決することはできません。

私は(CustomerProductマッピングから)次のようなことをしたいと思っていました:

        mapping.HasMany<Authorization>(x => x.Authorizations)
            .KeyColumn("ProductID")
            .KeyColumn("CustomerID")
            .Cascade.AllDeleteOrphan();

しかし、CustomerProduct には Authorizations メンバーがないため、明らかにそれは機能しません (少なくとも、それが機能しない理由だと思います ^^)。

4

1 に答える 1

1

これは、ビジネス レイヤーで解決する必要があります。これは、顧客と製品の関係を削除する方法を知っているビジネス ロジックが存在するためです。

于 2013-05-30T14:03:58.593 に答える