4

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

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

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

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

4

2 回答 2

3

我们将 Blob 存储用于备份 ASP.NET MVC 2 Web 客户端(以及桌面客户端)的 CQRS 视图。更多细节这是在生产中,是对以前版本的视图(NHibernate over SQL Azure)的巨大改进

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

于 2011-03-16T21:59:30.353 回答
3

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

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

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

于 2011-03-21T12:19:21.913 回答