关于CQRS的查询端

本文关键字:查询 CQRS 关于 | 更新日期: 2023-09-27 18:08:54

我相信将查询端与命令端分离的好处。在查询端,我们能够以最优化的形式为客户提供所需的信息;这使得它又快又容易。在我的例子中,我使用了一个非常简单的查询端实现,这基本上意味着我想使用与命令端使用的数据库相同的数据库。

我的问题是如何实现查询端,这就是我的想法:

1/我的第一个想法是使用WCF数据服务,基于在数据库视图上生成的实体框架模型。然后我会为特定的UI创建特定的视图。然后,一个视图可以合并来自不同表的数据。但这似乎非常有限,因为你不能传递参数给视图,而对于大多数查询,我当然需要传递参数。

2/A WCF数据服务,基于在数据库表上生成的实体框架模型。但是,查询模型将与命令端使用的模型相同。而且你不能以最适合特定UI的方式获取信息。

3/一个WCF数据服务,基于在数据库存储过程上生成的实体框架模型。但是要揭露他们还有额外的工作;调用它们也有点奇怪(魔法字符串)。

为了帮助我做出决定,我很乐意听到你的评论,看看什么是最好的方式来暴露我的查询端。谢谢!

关于CQRS的查询端

我选择选项1。为应用程序将要执行的特定查询创建完全反规范化的视图。

当你说你不能传递参数给视图时,你是什么意思?为什么不能对视图运行常规查询?