4

ASP.NET MVC アプリの開発を検討しています。これは、将来的に Azure で実行できるようにする必要があります。アプリは、私がかなり慣れていない CQRS デザイン パターンを使用します。書き込みモデルは、NHibernate とマッピングを使用します。読み取りモデルに使用するデータベースの種類がわかりません。読み取りモデルには、次のプロパティが必要です。

  • SQL ベースである必要はありませんが、可能です。そこでも NHibernate を使用して、単純なビュー モデル -> テーブル タイプのマッピングを外部キーなしで作成できます。SQL CE または SQLite イン メモリ データベースをデータ プロバイダーとして使用できます。これにより、データのクエリに関しても、柔軟性が少し向上します。

  • ビューモデルオブジェクトをそのまま保存するオブジェクトのシリアル化/デシリアライザーである可能性があります。これは使いやすく、将来的には Azure Blob Storage などを利用できるようになるはずです。これを適切に処理する優れたフレームワークはありますか?

以前にこの種のアプリケーションを作成したことのある人からのフィードバックをお待ちしています。

4

2 に答える 2

3

ASP.NET MVC 2 Webクライアント(およびデスクトップクライアント)をバックアップするCQRSビューにBlobストレージを使用しています。詳細これは本番環境であり、以前のバージョンのビュー(NHibernate over SQL Azure)よりも大幅に改善されています。

単純なインデックス作成とクエリも処理します。より複雑なシナリオでは、テーブルストレージ機能のサブセットを使用することを検討しています(パーティション化できない非常に大きなセットの場合のみ)。

于 2011-03-16T21:59:30.353 に答える
3

読み取りモデルでは、SQL Server 2008 R2 と WCF Data Services を使用します。次に、読み取り専用を許可するように WCF Data Service を構成します。SQL Server 2008 R2 データベースのデータは、エンティティごとに 1 つのテーブルであり、その上に特殊なビューが作成されます。

ASP.NET MVC アプリケーションは、エンティティに直接アクセスせず、ビューをクエリするだけです。

このようなシナリオは適切にインデックスを作成でき、ビューによって究極の柔軟性が得られます。

于 2011-03-21T12:19:21.913 に答える