【发布时间】:2015-01-14 07:02:42
【问题描述】:
我正在尝试使用三个数据库表为我的第三个下拉列表执行 LINQ 语句。以下是我的代码,但是当我在第二个下拉列表中选择一个集群时(对于我的第三个下拉列表)出现错误。
**//SECTORS**
public JsonResult GetSectors()
{
using (SAMPDBEntities context = new SAMPDBEntities())
{
var ret = context.SECLIBs
.Select(x => new { x.seccd, x.unitacro }).ToList();
return Json(ret, JsonRequestBehavior.AllowGet);
}
}
**//CLUSTERS**
public JsonResult GetCluster(string seccd)
{
using (SAMPDBEntities context = new SAMPDBEntities())
{
var ret = context.CLUSLIBs
.Where(x => x.seccd.Contains(seccd))
.Select(x => new { x.cluscd, x.unitdesc }).ToList();
return Json(ret, JsonRequestBehavior.AllowGet);
}
}
**//EMPLOYEES**
public JsonResult GetEmployee(string cluscd)
{
using (SAMPDBEntities context = new SAMPDBEntities())
{
var ret = context.UNILIBs
.Where(a => a.cluscd.Contains(cluscd))
.Include(x => x.PPSAs.Select(y => y.EMPFILE.empno))
.ToList();
return Json(ret, JsonRequestBehavior.AllowGet);
}
}
这是我的错误:
指定的包含路径无效。 EntityType 'SAMPDBModel.EMPFILE' 没有声明导航属性 名称'empno'。
这是 SQL 查询(用于我的第三个下拉列表):
SELECT DISTINCT e.empno, e.lname, e.fname, e.mname, c.cluscd
FROM SECLIB a
INNER JOIN CLUSLIB b
ON a.seccd = b.seccd
INNER JOIN UNILIB c
ON b.cluscd = c.cluscd
INNER JOIN PPSA d
ON c.unitcode = d.unitcd
INNER JOIN EMPFILE e
ON d.empno = e.empno
WHERE e.empstat = 1 AND c.cluscd = @cluscd
我需要做一个级联下拉列表,我需要根据所选部门和集群显示员工列表。如何使用多个表来做到这一点?请帮我。提前致谢!
【问题讨论】:
标签: c# mysql asp.net sql-server asp.net-mvc