对不起,如果标题混淆。连接到多个表或在ASP.NET MVC C中连接两个表#
可以说我有一个叫做Employee的模型。员工有一个名为Departments的列。这使他们能够查看该部门的日历。但是一些员工应该能够查看多个部门的日历,并且每个员工都有所不同。
因为有很多不同的部门,我不想让Employee表充满每个部门的大量新列。
我看到了一些关于链接(不知道这是否是正确的词)两个表。于是我创建了第二个名为AdditionalDepartments的模型/表,它具有AdditionalDepartmentsId,EmployeeId和Department。
说乔是部门A的一部分,但也可以查看B和C.这就是员工的样子。
EmployeeId | name | Department
-------------------------------
1 | Joe | IT
和AdditionalDepartments会是什么样子......
AdditionalDepartmentsId | EmployeeId | Department
--------------------------------------------------
1 | 1 | HR
2 | 1 | Sales
我将如何去组合这些?还是有更好的方式来存储更多的部门信息,而不是两个表?
我问,因为在我看来,当他们创建或编辑员工时,他们使用员工数据库,但我希望能够在这些视图上设置其他部门。问题在于你每个视图只能使用一个模型,所以我遇到了困难。
注意:我不能从员工中删除该部门,因为它的使用量远远超过了AdditionalDepartments的使用量。
您在正确的轨道上创建AdditionalDepartments。您可以从Employee表中删除Department。您可以调用AdditionalDepartments表的部门。您需要创建一个主键(Employee.EmployeeId)到外键(AdditionalDepartments.EmployeeId)关系。 – kblau
@kblau我不相信EmployeeID可以成为主键,因为多次列出时它不再是唯一的。 – Ethilium
“问题在于你每个视图只能使用一个模型,所以我遇到了困难。”为什么不使用视图模型? – Tim