MVC数据库模型动态属性

时间:2016-05-01 23:33:04

标签: asp.net-mvc database-design

他们,所以我需要帮助我的数据库模型来处理我正在进行的mvc项目。

情况如下:

我有一个名为dbo.Clients的表,其中包含ClientName,PlanName,PlanPrice,PlanStartDate,PlanEndDate和IsArchived列。

对于ClientName和IsArchived字段,其中只有一个值可能会发生变化。但是,每个客户端都有多个PlanName,PlanPrice,PlanStartDate和PlanEndDate值。

我有一个ClientModel,ClientViewModel,ClientRepository,ClientService和ClientController设置,可以从视图中成功地将值放入数据库。

问题:

我这样做的方式是我只能为PlanName,PlanPrice,PlanStartDate和PlanEndDate使用一个值。例如,假设客户购买了计划1和计划2,但我不能存储超过1个计划。

我想要做的是创建另一个名为Plans的表,但我不太确定如何在MVC方式中使用它来为每个客户端存储多个值。

1 个答案:

答案 0 :(得分:0)

你需要两张桌子。其中一位是名为Clients的客户主人,其中包含IdClientNameIsArchived列。

另一个表格类似ClientPlans,列ClientId, PlanName, PlanPrice, PlanStartDate, PlanEndDate

确保Id表格中的ClientsClientId表格中的ClientPlans之间存在外键关系。

这可以进一步重构,以便为PlansId,PlanName, PlanPrice, PlanStartDate, PlanEndDate)和一个名为ClientPlans的事务表创建一个包含ClientIdPlanId的事务表。适当的关系设定。

enter image description here