2010-11-20 1 views
0

私は、以下のリレーショナル表(Customer、Session、Workout)の一部を含むフィットネス・アプリケーション用のdbスキーマを持っています。 Cust to Sessは1対多、Sessは1対多です。 EF 4でリポジトリを作成するときは、作成する必要がありますか?各テーブルは関連しているので、すべてのテーブルのデータを1つのクエリで公開することができます。あるいは、代わりに各テーブルはそれ自身のリポジトリであると言いますか?リレーショナル表のリポジトリーの構築

詳細情報:_customerは_sessionを作成し、_sessionは_workoutに関連付けられます。 _workoutは、各セット、そのセットの重み、担当者の数、および働いたボディーパーツを追跡します。各_セッションには複数のワークアウトが関連付けられます。賢明なように、各顧客は複数の_セッションIDを持ちます。 _customerは集約ルートであり、他のすべての情報はそれを介して取得可能であるように見えます。だから私はすべてを行う顧客と呼ばれる1つのリポジトリを持っています。私たちはただ顧客を望んでいるが、運動などに興味を持っていないシナリオはどうすれば、顧客に電話をする時にすべてが元に戻るのだろうか?これは意味をなさないでしょうか?

感謝

ステュー

答えて

1

あなたはのアイデアについて尋ねている「集約ルート。」アイデアはEric Evansのドメインドリブンデザインで最もよく解説されていますが、その用語をグーグル化すると一般的な考えを得るのに十分なほどのものになります。

+0

はい。私はこれを少し読んでいましたが、実装するのはちょっと面倒です。私が実装しようとしている解決策は、Sessionを集約し、Cutomerを集約ルートにすることです。その後、別々の集計としてワークアウトを行います。したがって、顧客リポジトリとトレーニングリポジトリ。ワークアウトはCustomerリポジトリからSessionIdを取得します。 – hoakey

関連する問題