Groups、Users、Channels というテーブルがあり、それぞれの間にリンクテーブルがある場合、Domain Driven Design と nHibernate でどのように整理しますか? グループには UserCollection と ChannelCollection、User には GroupCollection と ChannelCollection、Channel には GroupCollection と UserCollection がありますか?
また、グループをチャネルに追加する場合、そのチャネルをすべてのグループとともに保存する必要がありますか? さらに悪いことに、チャンネルにユーザーを追加する... チャンネルのすべてのユーザーを保存するには、最初にすべてのユーザーをロードし、次に新しいユーザーを追加してからチャンネルを保存する必要があります (OK、おそらく追加されたユーザーのみが保存されますが、それらをすべてロードする必要があります...)。それとも、リポジトリ AddUserToChannel(User user, Channel channel) または AddUserToChannel(User user, int channelId) にメソッドを作成しますか?