2012-03-17 10 views
3

私はASP.Net MVC4を使ってアプリケーションを書いています。ここでは、データの大半がMongoDBに保存されています。これは、私のアプリケーションの「肉」と考えられるものの大半、その機能がそれを分けて設定するために機能しました。オーチャードCMSコンテンツタイプをアプリケーションドメインモデルに使用する必要がありますか?

しかし、今では静的なコンテンツと管理機能(アカウント、請求、ヘルプなどの設定)を追加する必要があります。私は、この機能をすべて処理するためにOrchard CMSを使用することを強く望んでおり、これまでにOrchardモジュールに行ったことをOrchardモジュールに移行します。

質問は次のとおりです。オーチャードのコンテンツタイプをモデル化するために、自分のデータのどれくらいのデータを使用する必要がありますか?私は少なくとも私のデータのいくつかをMongoに保存し続けるつもりであるので、どこに行くのか分けてどこに分割線を入れるのかは分かりません。

以前にオーチャードでWebアプリケーションを実装しましたか?ドメインデータはどこに行きましたか?コンテンツタイプを使用した場合は、教訓がありますか?

+0

他のコメントの後、SQL ServerのFileTableを見ましたか? – rfcdejong

+0

@rfcdejong確かに面白いですが、おそらく仕事のための正しいツールではありません。 SQLが正しいツールだと本当に思っていたら、2008年以降に含まれていたSQL ServerのHierarchical Idsをおそらく使用します。 –

答えて

1

なぜMongoDBを使い続けたいですか?オーチャードでは、すべてのデータへのアクセスは、仮想プロパティがカラムにマッピングされるxxxRecordクラスを使用してNHibernateによって行われます。これは、SQLコンパクト、SQL Server 2008(およびR2)とSQL Azureで動作します。

RavenDBのステータスはわかりませんが、RavenDBを使用してBLOBデータを格納したり、BLOBデータをno-sqlデータストレージとして使用するモジュールがあります。

個人的に私は複数のデータストレージを使用しません。

ContentTypeには、複数の「添付可能な」ContentPartsとContentFieldがコード内に含まれているか、orchard管理ユーザーインターフェイスを使用しています。 Uはリポジトリを使用することができますが、直接ContentPartではないデータに対してのみ行います。 DefaultContentManagerには、バージョン管理、公開、削除などがあります。ContentTypeを削除すると、削除されたフラグが取得されます。 (あなたがdeleteステートメントを実行する別のモジュールを使用していない限り)リポジトリを使用すると、アイテムがまだ存在していないのにまだ存在していると思われる危険性があります。

あなたの質問に対する最終的な答えは:はい、ContentTypeをドメインモデルとして使用する必要があり、実行中の差分クエリが心配する必要はありません。

+0

アプリケーションデータは、複数のユーザーがドキュメントを原子的に変更できるようにするドキュメントストアかつデータは階層的に階層的である。階層はリレーショナルデータベースの痛みであり、特にコンテンツタイプのようなものがツリーの効率的な変更/トラバーサルをサポートするとは思わないでしょう。 –

+0

Uはデータストレージを混在させることができますが、結局のところMVCです。しかし、あなたが自分のデータベースをセットアップすると、マルチテナントのようなものはもっと難しくなることを覚えておいてください。 Uは、階層型データストレージに最適なFileTableをサポートするSQL Server Denali(SQL Server 2012)を待つ(2012年4月1日から利用可能、またはRTMを使用する)ことをお勧めします。 – rfcdejong

+0

http://programmers.stackexchangeを助けてください。 com/questions/224387/orchard-cms-as-an-application-framework-for-business-applications-2014 – Yashvit

関連する問題