对于使用 CQRS 的 ASP.NET MVC 应用程序来说,什么是好的读取模型?

发布于 2024-10-22 19:19:46 字数 411 浏览 7 评论 0原文

我希望开发一个 ASP.NET MVC 应用程序,它将来应该能够在 Azure 上运行。该应用程序将使用 CQRS 设计模式,我对此相当陌生。写入模型将使用带有映射的 NHibernate。我不确定读取模型使用哪种数据库。读取模型应具有以下属性:

  • 它不需要基于 SQL,但可以是。 NHibernate 也可以用来创建简单的视图模型 ->表类型的映射,没有外键。内存数据库中的SQL CE或SQLite可以用作数据提供者。这还为查询数据提供了更多的灵活性。

  • 它可能只是一个对象序列化/反序列化器,它按原样存储视图模型对象。它应该使其易于使用,并且将来可以利用诸如 Azure Blob 存储之类的东西。有没有好的框架可以很好地处理这个问题?

我很想从以前构建过此类应用程序的人那里得到一些反馈。

I am looking to develop an ASP.NET MVC app, which should have the capability to be run on Azure in the future. The app will be using the CQRS design pattern, which I am rather new to. The write model will use NHibernate with mappings. I am not sure what kind of database to use for the read model. The read model should have the following properties:

  • It doesn't need to be SQL based, but could be. NHibernate could be used there as well to create simple view model -> table type of mappings, with no foreign keys. SQL CE or SQLite in memory database could be used as the data provider. This also gives a little bit more flexibility when it comes to querying the data.

  • It could simply be an object serialized / deserializer which stores the view model objects as they are. It should make this easy to use and could utilize things like Azure Blob storage in the future. Are there any good frameworks that handle this in a good way?

I would love to get some feedback from some people who have built this kind of applications before.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云胡 2024-10-29 19:19:46

我们使用 Blob 存储来存储 CQRS 视图来备份 ASP.NET MVC 2 Web 客户端(以及桌面客户端)。 更多详细信息 这是在生产环境中,相对于之前版本的视图(NHibernate over SQL Azure)有很大的改进,

它也可以处理简单的索引和查询。对于更复杂的场景,我正在考虑使用表存储功能的子集(仅适用于无法分区的非常大的集合)。

We are using Blob storage for CQRS Views backing up ASP.NET MVC 2 Web client (and desktop client as well). Some more details This is in production and is a great improvement over the previous version of views (NHibernate over SQL Azure)

It handles simple indexing and querying as well. For more complex scenarios I'm considering using subset of Table Storage functionality (only for really large sets that can't be partitioned).

自我难过 2024-10-29 19:19:46

对于读取模型,我们使用 SQL Server 2008 R2 和 WCF 数据服务。然后将 WCF 数据服务配置为允许只读。 SQL Server 2008 R2 数据库中的数据是每个实体一张表,并在这些表之上创建专门的视图。

ASP.NET MVC 应用程序不直接访问实体,它只查询视图。

像这样的场景可以很好地建立索引,并且视图为您提供了最终的灵活性。

For the Read Model, we use SQL Server 2008 R2 with WCF Data Services on top. The WCF Data Service is then configured to allow read only. The data in the SQL Server 2008 R2 database is one table per entity, with specialized Views created on top of those.

The ASP.NET MVC application doesn't access the entities directly, it only queries the views.

A scenario like this can be indexed nicely and the views give you ultimate flexibility.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文