2011-03-16 7 views
4

今後、Azureで実行できるASP.NET MVCアプリケーションを開発しようと考えています。このアプリはCQRSのデザインパターンを使用していますが、これは私がかなり新しいものです。書き込みモデルはNHibernateとマッピングを使用します。私は、読み込みモデルにどのような種類のデータベースを使用するのかよく分かりません。読み取りモデルには、次のプロパティが必要です。CQRSを使用したASP.NET MVCアプリケーションの読み込みモデルは何ですか?

  • これはSQLベースである必要はありません。 Hibernateは、外部キーを持たない単純なビューモデル - >テーブル型のマッピングを作成するためにも同様に使用できます。メモリデータベース内の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

私たちは、ASP.NET MVC 2 Webクライアント(およびデスクトップクライアントも同様)をバックアップするCQRS Views用のBlobストレージを使用しています。 Some more detailsこれは生産中であり、以前のバージョンのビュー(SQL Azureに比べてNHibernate over SQL Azure)が大幅に改善されています。

単純な索引付けと問合せも処理します。もっと複雑なシナリオでは、テーブルストレージ機能のサブセットの使用を検討しています(パーティション化できない本当に大きなセットの場合のみ)。

+0

記事をありがとう。もし私が紺碧を使っていないのであれば、何をお勧めしますか?多分Mongodbのような何か?あなたはイベントの痛みに何を使用しますか? –

3

Read Modelでは、WCF Data Servicesと共にSQL Server 2008 R2を使用しています。 WCFデータサービスは、読み取り専用に設定されます。 SQL Server 2008 R2データベースのデータは、エンティティごとに1つのテーブルであり、特殊なビューがその上に作成されます。

ASP.NET MVCアプリケーションはエンティティに直接アクセスせず、ビューにのみクエリを実行します。

このようなシナリオでは、索引付けをうまく行うことができ、ビューによって究極の柔軟性が得られます。

関連する問題