使用CQR的ASP.NET MVC应用程序的良好阅读模式是什么?

使用CQR的ASP.NET MVC应用程序的良好阅读模式是什么?,.net,asp.net,asp.net-mvc,cqrs,.net,Asp.net,Asp.net Mvc,Cqrs,我正在寻找开发一个ASP.NET MVC应用程序,它应该有能力在未来的Azure上运行。该应用程序将使用CQRS设计模式,这是我比较陌生的。写入模型将使用带有映射的NHibernate。我不确定read模型使用哪种数据库。读取模型应具有以下属性: 它不需要基于SQL,但可以。NHibernate也可以用于创建简单的视图模型->表类型的映射,而不需要外键。SQL CE或SQLite内存数据库可用作数据提供程序。在查询数据时,这也提供了更多的灵活性 它可以是一个对象序列化/反序列化器,按原样存储视

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

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

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


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

我们正在使用Blob存储来备份ASP.NET MVC 2 Web客户端(以及桌面客户端)的CQRS视图。这正在生产中,与以前版本的视图(NHibernate优于SQL Azure)相比,这是一个很大的改进


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

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

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


这样的场景可以很好地编制索引,视图为您提供了极大的灵活性。

您看过Greg Young的视频吗?这是一个很好的资源,谢谢。是的,3个小时后我在电脑前睡着了。不管怎么说,也来看看这个:哦,cqrsinfo.com似乎经常引用nCQRS,我认为这是CQRS的一个坏例子…@Phill,以什么方式?我认为,使用NCQRS的目的是让我们更容易开始构建CQRS应用程序,框架将处理其周围的大部分基础设施。感谢本文。如果我不使用azure,你会推荐什么?可能是Mongodb之类的?你用什么来做这个活动?