在软件开发中经常进行多表查询,通过关联字段查询到对应的信息,其中左连接数经常使用的。
var query = from o in db.User
join d in db.DepartMent
on o.departmentId equals d.departmentId into dc
from dci in dc.DefaultIfEmpty()
join e in db.Role
on o.roleId equals e.roleId into ec
from eci in ec.DefaultIfEmpty()
join dut in db.Duty
on o.userId equals dut.userId into fc
from bcc in fc.DefaultIfEmpty()
join cls in db.ClassesType
on bcc.classesId equals cls.classesId into gc
from clcc in gc.DefaultIfEmpty()
where o.userName.Contains(username)
select new UserView
{
userId = o.userId,
userName = o.userName,
passWord = o.passWord,
loginName = o.loginName,
DepartMentName = dci.departmentName,
RoleName = eci.roleName,
status = o.status,
creatTime = o.creatTime,
DutyName = clcc.classesName
};