CQRS汇总视图

时间:2013-08-14 17:58:52

标签: cqrs

有一个共同的建议是每个ViewModel都有单个表(或SQL视图)。我无法真正理解如何在场景中实现这一点,然后我需要在视图和子列表上显示聚合模型。例如:

主题标题

主题说明。

  • 评论1
  • 评论2
  • 评论3

有一个聚合的Topic模型应该是一个根模型,由第一个SQL视图和一些子模型表示 - CommentTopic链接到外国键。所以我们有两个表格或视图,join在屏幕上显示它们 问题是:

  1. 是否可以为单个表连接多个表 视图模型

  2. 是否可以压缩上面的示例以将其保留在单个SQL视图中?如果是这样,那么ViewModel类应该如何?

  3. 如果我们有超过1个链接模型该怎么办?

  4. 编程语言并不重要。

2 个答案:

答案 0 :(得分:1)

面向文档的数据库更适合Read模型。您可以按ViewModel存储文档,并且不需要连接等。但您的ViewModel不是强制性的,仅涉及一个文档。在您的示例中,如果您通过ajax加载更多注释,则可以将注释存储在另一个文档/集合/表中。如果对搜索使用搜索查询,则还可以将其存储在另一个文档/集合/表中。如果将所有注释与主题一起加载,则可以将其存储在一个文档中(主题和注释一起)。稍后,如果您决定通过ajax加载注释或允许用户查询注释,则可以拆分此文档或将注释另外存储在另一个集合/表中。

答案 1 :(得分:0)

建议您以适合您需要的格式存储数据。无欢迎查询是首选,不是强制性的。一种实用的替代方法是将您的视图作为文档存储在文档数据库中。