2008-11-20 62 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个意见你已经有了相当多的的开销。

相关问题