连表查询左连接提取数据设置权限
连表查询左连接查询,不同于连表直接查询;
一般的连表查询默认的是INNER JOIN 查询出来的是两个表的交集
如下图:
而左连接查询:获取的不单止两表的交集,而且还获取了左边表的整个表的数据:
如下图:
获取左边所有数据进行数据输出时,左边表有数据右边表没有的数据的字段默认为空,NULL;
例如项目在做权限设置应用左连接查询数据进行判断:
var userModulars = (from tbSysModular in myModel.SYS_Modular
join tbTempModulars in tempModulars on tbSysModular.ModularID equals tbTempModulars.ID into temp
select new{ ModularID = tbSysModular.ModularID,
ModularName = tbSysModular.ModularName.Trim(),
ID = temp.Select(t => t.ID).FirstOrDefault() != null ? temp.Select(t => t.ID).FirstOrDefault() : 0 }).ToList();
return Json(userModulars, JsonRequestBehavior.AllowGet);}else{r