2011-07-01 3 views
-1

私はASP.NET MVC3でリポジトリパターンを使用しています。ストアドプロシージャを使用してデータを抽出しています。MVCでストアドプロシージャを呼び出すための最善の戦略は何ですか?

ストアドプロシージャごとに異なるリポジトリを作成するか、すべてのプロシージャに対して単一のREPOSITORYクラスを作成する必要がありますか?

テーブルクラスに埋め込むことはできませんが、2つ以上のテーブルからデータを取得することはほとんどできません。

グッドレポジトリパターンごとに最適なオプションは何ですか?

答えて

0

リポジトリはモデルを処理する必要があり、それは集計です。プレーンなSQLまたはSPを使用してそれらを取得することは重要ではありません。

つまり、オブジェクトをフェッチする方法は重要ではありません。それは、SQLステートメント、ストアドプロシージャ、Webサービス、または何でもかまいません。

重要なのは、所属するオブジェクトをグループ化して同じリポジトリクラスに入れることです。古典的な例はOrderOrderLineです。

+0

ありがとうございました!完全にあなたと同意します。方法が重要ではないというあなたの主張を得ました。 MVCモデルでエンティティフレームワークを使用しています。クラスを作成するためにデータベースをインポートしています。私は多くのテーブルを持っている例tblQuestiions、tblVendors、tblQuotas。私は各テーブルごとに異なるリポジトリを作成しました。ここでは、tblQuestionsとtblVendors.Soからデータを取得するストアドプロシージャがあります。 –

+0

質問、ベンダーおよびクォータが一緒に属していないため、3つのレポジス。 – jgauffin

+0

Ok.私は3つすべてを使用しているストアドプロシージャを置くべきです....私は何を考えていますか?コントローラと1対1のマッピングをリポジトリと一緒に行う必要があります。 –

関連する問題