Linq用于映射表

时间:2014-07-01 12:37:04

标签: c# linq

我不知道如何为给定的场景编写linq。有什么帮助吗?

我有三张桌子

  1. 员工(有empid,姓名等)
  2. 角色(有角色,角色等),
  3. EmpRoleMapping(有roleid,empid)
  4. 我需要一个查询来从employeesetable获取employeeName,从角色表中获取rolename。

    请帮忙吗?

    我在使用如下的实体框架生成映射表,我没有得到第三个表名,现在获取用于编写linq的表的名称

      modelBuilder.Entity<Employee>()
                    .HasMany(role => role.Roles)
                    .WithMany(emp => emp.employee)
                    .Map(role => role.MapLeftKey("RoleId").MapRightKey("EmployeeId").ToTable("EmployeeRoleMapping"));
    

2 个答案:

答案 0 :(得分:0)

var query = from emp in db.Employee
            join empRole in db.EmpRoleMapping
            on emp.empid equals empRole.empid
            join r in db.Role 
            on empRole.roleid equals r.roleid
            select new { employeeName = emp.name, rolename = r.rolename };

答案 1 :(得分:0)

我猜这个:

var result = employee.Select(e => e.name, e.Role.rolename);