【问题标题】:How to program sql query with inner join in ASP.Net MVC?如何在 ASP.Net MVC 中使用内部连接编写 sql 查询?
【发布时间】: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


    【解决方案1】:

    这应该是未指定从 EDMX 生成的正确相应名称的问题。请您检查从实体框架生成的“EMPFILE”类它应该具有相似的名称和不同的区分大小写的单词。

    在 SQL 中查询时,它不会区分大小写。但是 C# 是区分大小写的语言。

    如果你能把“EMPFILE”类和数据库表贴在这里就更好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-16
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2021-04-11
      • 1970-01-01
      相关资源
      最近更新 更多