我正在制作一个实现CQRS&的示例.NET应用程序。事件采购在地面。 我正在使用Entity Framework将我的域保存到SQL Server数据库,并将事件序列化为Json文档。
但同样我不放弃了解两件事;
谢谢:)
答案 0 :(得分:2)
我是否应该考虑/使用实体框架持久存在于SQL Server中 阅读模型到我的UI?
您可以将SQL Server用于读取端,但如果您的UI依赖于层次结构JSON数据,那么像NoSQL这样的面向文档的方法可能是更好的存储。
UPDATE ,除此之外,请考虑读取端模型可能会经常更改。事件可能会转换为多个表示形式。新的前端功能可能会在某组数据上引入新视图。如果你总是要跟上模式和ORM映射,事情会变得更难。在NoSQL数据库中,放置任意数据要容易得多,因为不需要模式定义。
Read和Write模型是否使用相同的域实体?
不,CQRS使您能够在读取端和写入端使用不同的模型。并且读取和写入操作都可以独立优化。这就是CQRS的全部内容。例如,在读取方面,您不必担心验证,规范化和完整性,因为状态根本无法更改。如果你使用相同的模型,你将失去这种优势。