连接表的类

时间:2018-03-23 08:27:14

标签: c# class

我有两张桌子需要加入

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;}
}

现在,我正在使用数据表来查看连接表。

2 个答案:

答案 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实例。

如果您想要特定部门的员工名单,您可以取消注释评论行。