如果您有表格组,用户,频道以及每两个表之间的链接表,那么如何在域驱动设计和nHibernate中组织它?组是否具有UserCollection和ChannelCollection,用户是GroupCollection和ChannelCollection以及Channel是GroupCollection和UserCollection?
如果您想将一个群组添加到频道,您是否需要将频道与所有群组一起保存?更糟糕的是,将用户添加到频道...保存频道的所有用户需要首先加载它们,然后添加新用户然后保存频道(好吧,可能只会保存添加的用户,但是你确实需要加载它们......)。或者您将在存储库AddUserToChannel(用户用户,渠道渠道)或AddUserToChannel(用户用户,int channelId)中创建方法吗?
答案 0 :(得分:1)
是和否。是的:您的小组有一个频道收集等。但延迟加载发挥作用。我的理解是,您必须加载大量记录的大多数问题都是无效的。即说出类似的话:
myGroup.Channels.Add(myChannel);
myChannel.Groups.Add(myGroup);
不会强制加载myChannel的组。