Linq用于映射表
本文关键字:映射 用于 Linq | 更新日期: 2023-09-27 18:10:54
我不知道如何为给定的场景编写linq。请帮忙好吗?
我有三张表
- 员工(有empid,姓名等)
- 角色(有roleid, rolename等)
- EmpRoleMapping (roleid, empid)
我需要一个查询从employeetable中获取employeeName,从role table中获取rolename。
请帮忙好吗?
我正在使用如下所示的实体框架生成映射表,我没有获得第三个表名,现在要获得用于编写linq
的表名 modelBuilder.Entity<Employee>()
.HasMany(role => role.Roles)
.WithMany(emp => emp.employee)
.Map(role => role.MapLeftKey("RoleId").MapRightKey("EmployeeId").ToTable("EmployeeRoleMapping"));
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 };
我猜是这样的:
var result = employee.Select(e => e.name, e.Role.rolename);