考虑带有对象Post和Comment的典型博客.
对于DDD演示示例,我一直在构建(迄今为止)发现Post和Comment实体都适用于相同的聚合 – Post聚合.但现在我不太确定..
在我的控制器中,我发现,就像你期望的那样,我需要添加和删除帖子中的评论.在我目前的模型中,我没有全球跟踪评论的身份(如蓝皮书所示).您可能希望我删除评论的操作可能如下所示:
public ActionResult DeleteComment(int postID,int commentID)
显然我需要Post的id从存储库中检索它以及我要删除的那个帖子上的特定Comment的标识符.
我的问题是DeleteComment的主体(行动:
是否可以使用查询机制遍历Post以获取要删除的注释?像这样:
var comment = this._postRepo.WithID(postID).Comments .SingleOrDefault(c => c.ID == commentID); this._postRepo.Delete(comment); return RedirectToAction("detail",new { id = postID });
..或者我应该从回购中选择与此类似的评论?:
var comment = this._postRepo.CommentWithID(commentID)
..要么:
var comment = this._postRepo.CommentWithID(postID,commentID)
以上两个例子看起来有点傻,因为如果我可以全局跟踪评论,我不需要帖子ID.但是如果我在全球范围内跟踪评论,那么它不应该拥有它自己的聚合,那么当Post和Comment似乎在一起时它是正确的吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。