从域实体对象调用数据库

时间:2011-05-21 07:28:19

标签: model-view-controller orm petapoco

我正在使用PetaPoco进行项目而不是NHIbernate(我通常会这样做),而且我对集合有疑问并在域模型中使用它们。

假设我有一个包含姓名和文字的BlogPost,然后是包含姓名,作者,文字的评论

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

我想我可能会懒惰加载这些评论,所以要做到这一点,我会在Blog Post GetComments()方法中调用我的数据访问对象GetCommentsForBlogPost(this)。我的问题是,这被认为是好的做法吗?让您的域实体调用数据访问层?在我的NHibernate项目中,他们只是处理自己,因为NHibernate代理/魔术完成了其余的工作。

1 个答案:

答案 0 :(得分:0)

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