我有两张桌子需要加入
employee
-id
-name
-department_id
和
department
-id
-department_name
如何处理单个类中的联接数据?我应该为每个表的所有数据创建属性吗?
e.g
class employeerecord
{
private int id {get; set;}
private string name {get; set;}
private int department_id {get; set;}
private string department_name {get; set;}
}
现在,我正在使用数据表来查看连接表。
答案 0 :(得分:1)
这完全取决于你想要对这些课程做些什么。你可以去任何一个方向。
如果您想展示一名员工,而该员工只能属于一个部门,那么没有任何事情可以反对平面模型:
class employeerecord
{
private int id{get;set};
private string name{get;set;}
private int department_id{get;set;}
private string department_name{get;set;}
}
如果员工可以成为多个部门的成员,那么最好将部门存储在集合中:
public class EmployeeViewModel
{
public int id{get;set};
public string name{get;set;}
public IEnumerable<Deparment> Departments { get; set; }
}
部门也是如此。一个部门很可能由多名员工组成:
public class DepartmentViewModel
{
public int id{get;set};
public string name {get;set;}
public IEnumerable<Employee> Employees { get; set; }
}
没有理由,为什么你不能一次完成所有工作并根据你的具体用例使用这些课程。
答案 1 :(得分:1)
整个设计应该包括你数据库中的所有实体,即有离开表,应该有相应的类。同样适用于员工表。你应该有以下课程:
declare var jsPdf: any
加载数据时,您应该加入查询,以填充:class Employee
{
public int id {get; set;}
public string name {get; set;}
public int department_id {get; set;}
public Departament department {get; set;}
}
class Departament
{
public int id {get; set;}
public string name {get; set;}
//public ICollection<Employee> Employees { get; set; }
}
实例和Employee
实例。
如果您想要特定部门的员工名单,您可以取消注释评论行。