2008-11-20 20 views

回答

2

我可能會通過我的ORM工具的影響,但我認爲這是一個查詢,而不是一個域屬性。該域包含關聯,並且存儲庫封裝了您正在描述的查詢等查詢。

+0

所以你會有一個屬性「評論」,並根據你調用哪個服務層方法(GetAllComments或GetLastComments)你會得到不同的數據集裏面? – badbadboy 2008-11-20 19:24:39

2

您會查詢您的存儲庫中特定用戶的最新評論。像

IList<Comment> recentComments = repository.GetRecentComments(user,20); 

你可以在模型中做到這一點,但取決於你期望有多少評論,我會避免它。模型不應該知道如何填充本身,這是存儲庫的工作;然而,如果你使用的是類似NHibernate的東西,它會在那裏。

public class User{ 

public IList<Comment> Comments { get;set;} 

public IList<Comment> GetRecentComments() 
{ 
    // Logic 
} 


} 

在這種實現你總是要加載所有的意見,以獲得最後的20不是一個大問題,如果只有50的意見,但如果有5000個意見你已經有了相當多的的開銷。

相關問題