2011-03-16 77 views
4

我期待開發一個ASP.NET MVC應用程序,該應用程序應該有能力在未來在Azure上運行。該應用程序將使用CQRS設計模式,這是我很新的。寫模型將使用NHibernate和映射。我不知道什麼樣的數據庫用於讀取模型。讀取模型應具有以下屬性:什麼是使用CQRS的ASP.NET MVC應用程序的良好閱讀模型?

  • 它不需要基於SQL,但可以是。 NHibernate也可以用來創建簡單的視圖模型 - >表類型的映射,沒有外鍵。內存數據庫中的SQL CE或SQLite可以用作數據提供者。這也爲查詢數據提供了更多的靈活性。

  • 它可能只是一個對象序列化/解串器,它將視圖模型對象原樣存儲。它應該使這個易於使用,並可以在將來使用Azure Blob存儲等。有沒有好的框架可以很好地處理這個問題?

我很想從一些建立這種應用程序的人那裏得到一些反饋。

+1

你見過Greg Youngs Video嗎? http://www.viddler.com/explore/GregYoung/videos/8 –

+0

這是一個很好的資源,謝謝。需要一段時間才能完成。 –

+0

是的,我在3小時後在電腦前睡着了。無論如何,請檢查以下內容:http://cqrsinfo.com和http://groups.google.com/group/dddcqrs –

回答

3

我們使用Blob存儲CQRS視圖備份ASP.NET MVC 2 Web客戶端(以及桌面客戶端)。 Some more details這是在生產中,並且比以前版本的視圖(NHibernate over SQL Azure)有了很大的改進。

它還處理簡單的索引和查詢。對於更復雜的場景,我正在考慮使用表存儲功能的子集(僅適用於無法分區的非常大的集合)。

+0

感謝您的文章。如果我不使用天藍色,你會推薦什麼?像Mongodb可能嗎?你對事件有什麼用處? –

3

對於讀取模型,我們使用帶有WCF數據服務的SQL Server 2008 R2。然後將WCF數據服務配置爲只讀。 SQL Server 2008 R2數據庫中的數據是每個實體一個表,並在這些數據之上創建了專門的視圖。

ASP.NET MVC應用程序不直接訪問實體,它只查詢視圖。

像這樣的情景可以很好地索引,並且視圖給你最大的靈活性。

相關問題