我正在尝试编写我的第一个 CQRS 应用程序,但在制作一个涉及绑定到 T 集合(聚合根)的网格的简单视图时遇到了麻烦。
我已经进行了广泛的谷歌搜索,但我找不到任何关于使用 CQRS 为该列表建模用户体验的想法。
1) 一个想法是有一个命令用于从列表中创建、编辑和删除每个 T,并使用 BindingList 的自定义实现来了解这些操作何时发生。
2)另一种选择是等待用户进行所有必要的更改,并以某种方式分析原始聚合根与编辑后的差异,并一次性发送一系列命令来进行这些更改。
我的第一个问题是我使用的是标识列而不是 Guids(因此客户端不会为新 T 生成 Id)所以如果用户决定在处理客户端的创建命令之前删除他们刚刚创建的模型在服务器上,我怎样才能告诉服务器要删除什么模型?
第二个似乎很复杂,因为我必须弄清楚如何评估添加、删除和编辑的项目才能发送这批命令。
想法?