0

我正在尝试在项目中使用 PetaPoco 而不是我通常使用的 NHIbernate,并且我对集合以及从域模型中使用它们有疑问。

假设我有一个带有名称和文本的 BlogPost,然后是带有名称、作者、文本的评论

我想将 BlogPost 与评论相关联。我已经在 SQL 中使用 Blogposts_Comments 表完成了这项工作。在 NHibernate 中,我只需要在 BlogPost 上有一个 Comments 集合并映射它,然后将其检索或标记为 Lazy。

我想我可能会延迟加载这些评论,所以要做到这一点,我会在博客文章 GetComments() 方法中调用我的数据访问对象 GetCommentsForBlogPost(this)。我的问题是,这被认为是好的做法吗?让您的域实体调用数据访问层?在我的 NHibernate 项目中,他们只是像 NHibernate 代理/魔术一样处理自己的事情。

4

1 回答 1

0

在我看来,如果你这样做,你将不再拥有 POCO 对象。这是否是一件坏事真的取决于你。这实际上是在保持域对象清洁(可以说更易于维护)或让调用者的生活稍微更轻松之间的权衡。

于 2011-05-27T16:36:39.547 回答