2016-05-01 5 views
0

私は作業しているmvcプロジェクトのデータベースモデルで少し助けが必要です。ここでMVCデータベースモデル動的プロパティ

は状況です:

私は列CLIENTNAME、PLANNAME、PlanPrice、PlanStartDate、PlanEndDate、およびIsArchivedを持ってdbo.Clientsと呼ばれるテーブルを持っています。

フィールドのClientNameおよびIsArchivedには、変更の対象となる値が1つだけあります。ただし、各クライアントには複数のPlanName、PlanPrice、PlanStartDate、およびPlanEndDate値があります。

ビューからデータベースに値を正常に配置するClientModel、ClientViewModel、ClientRepository、ClientService、およびClientControllerの設定があります。

問題:

私はこれを行っている方法は、私が唯一PLANNAME、PlanPrice、PlanStartDate、およびPlanEndDateのための一つの値を使用することができるということです。たとえば、クライアントがプラン1とプラン2を購入したとしますが、1つ以上のプランを保存することはできません。

私がしたいことは、Plansという別のテーブルを作成することですが、クライアントごとに複数の値を格納するMVCの方法を使用する方法がよく分かりません。

+0

これはMVCとは関係ありません。 'ID'(PK)、' ClientID'(FK to Clientsテーブル)、 'Name'、' Price'、 'StartDate'、' EndDate'の2つのテーブル( '' Plans'') –

答えて

0

テーブルが2つ必要です。 1つはClientsのような名前のクライアントマスターで、列はIdClientNameIsArchivedです。

他のテーブルには、ClientPlansテーブル内ClientsテーブルでIdClientId間の外部キー関係があるのを確認してください列ClientId, PlanName, PlanPrice, PlanStartDate, PlanEndDate

ClientPlansのようなものになります。

これはPlansId,PlanName, PlanPrice, PlanStartDate, PlanEndDate)のための別のテーブルを有することがさらにリファクタリングすることができ、トランザクション・テーブルが設定され、適切な関係を持つClientIdPlanIdを含むClientPlansと呼ばれます。

enter image description here