许多与 CQRS(命令查询响应)分离相关的 blogsphere 文章似乎暗示所有屏幕/视图模型都是平面的。例如姓名,年龄,出生地点等。因此建议我们将它们放入快速读取源等中。每个视图单个表 mySQL 等。然后使用原始 SqlDataReader 之类的东西将它们拉出来,踢那个讨厌的休眠ORM等。
然而,虽然我同意域模型不能很好地映射到大多数屏幕,但我使用的许多屏幕都更具维度,我相信这在 LOB 应用程序中很常见。
所以我的问题是人们如何处理屏幕,例如它显示客户详细信息的摘要,然后是带有 [更多详细信息] 链接等的订单列表......
我考虑过保持对查询数据库的直接 SQL 查询,断开外部连接,以便可以构建一个合适的 ViewModel 来查看,但这似乎有点矫枉过正?
或者(这开始感觉很糟糕)在 CustomerSummaryView 表中有一个名为 Orders 的文本/大(无论您的 DB 中的类型是什么)列,订单摘要屏幕网格的列由 分隔,行由 | 分隔。即使使用 XML 数据类型,它仍然感觉很脏。
关于最佳实践的任何想法?