1

如果你有組表,Groups,Users,Channels和每兩個表之間的鏈接表,你如何在Domain Driven Design和nHibernate中進行組織?一個組有一個UserCollection和一個ChannelCollection,一個用戶是一個GroupCollection和ChannelCollection,一個是一個ChannelCollection和UserCollection的通道?當你使用Domain Driven Design和nHibernate時,你如何處理鏈接表?

如果你想添加一個組到一個頻道,你是否需要保存該頻道的所有組?更糟糕的是,將用戶添加到頻道...保存頻道的所有用戶需要首先加載它們,然後添加新用戶然後保存頻道(好吧,可能只有添加的用戶纔會被保存,但是您確實需要加載它們...)。或者您是否會在存儲庫AddUserToChannel(用戶用戶,通道通道)或AddUserToChannel(用戶用戶,int通道Id)中創建方法?

回答

1

是,否。是的:你的組有一個Channels集合等等。然而,延遲加載會起作用。我的理解是,大部分關於必須加載大量記錄的問題都是無效的。即如下所示:

myGroup.Channels.Add(myChannel); 
myChannel.Groups.Add(myGroup); 

將不會強制myChannel的組加載。

+0

是的,我認爲它只會強制一個負載,如果你使用一套。這是有道理的,因爲它必須檢查添加是否成功。 – dotjoe 2009-11-18 22:00:32

相關問題