我是否应该 consider/use 将 Entity Framework 的内容作为我的 UI 的阅读模式?

Should I consider/use what Entity Framework persist as a reading model to my UI?

我正在制作一个在地面上实现 CQRS 和事件源的示例 .NET 应用程序。 我正在使用 Entity Framework 将我的域保存到 SQL 服务器数据库,并将事件序列化到 Json 文档。

但我不戒烟也明白两件事;

谢谢:)

Should I consider/use what Entity Framework persist to SQL Server as a reading model to my UI ?

您可以将 SQL 服务器用于读取端,但如果您的 UI 依赖于分层 JSON 数据,则采用像 NoSQL 这样的面向文档的方法可能是更好的存储方式。

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

Does the Read and Write models uses the same domain entities ?

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