我应该考虑/使用实体框架作为我的UI的阅读模型吗?

时间:2017-10-14 16:38:31

标签: entity-framework cqrs event-sourcing

我正在制作一个实现CQRS&的示例.NET应用程序。事件采购在地面。 我正在使用Entity Framework将我的域保存到SQL Server数据库,并将事件序列化为Json文档。

但同样我不放弃了解两件事;

  • 我应该考虑/使用实体框架持续存在于SQL Server作为我的UI的阅读模型吗?
  • 读取和写入模型是否使用相同的域实体?

谢谢:)

1 个答案:

答案 0 :(得分:2)

  

我是否应该考虑/使用实体框架持久存在于SQL Server中   阅读模型到我的UI?

您可以将SQL Server用于读取端,但如果您的UI依赖于层次结构JSON数据,那么像NoSQL这样的面向文档的方法可能是更好的存储。

UPDATE ,除此之外,请考虑读取端模型可能会经常更改。事件可能会转换为多个表示形式。新的前端功能可能会在某组数据上引入新视图。如果你总是要跟上模式和ORM映射,事情会变得更难。在NoSQL数据库中,放置任意数据要容易得多,因为不需要模式定义。

  

Read和Write模型是否使用相同的域实体?

不,CQRS使您能够在读取端和写入端使用不同的模型。并且读取和写入操作都可以独立优化。这就是CQRS的全部内容。例如,在读取方面,您不必担心验证,规范化和完整性,因为状态根本无法更改。如果你使用相同的模型,你将失去这种优势。