Linq Select中SubSelect的语法

时间:2019-01-22 23:25:56

标签: c# linq

我有一个语法问题,需要比我聪明的人。

这是我的选择语句

    var Materials = from j in db.Jobs
                join je in db.a_Job_Extensions on j.Top_Lvl_Job equals je.Job
                join mr in db.Material_Reqs on j.Job1 equals mr.Job
                join m in db.Materials on mr.Material equals m.Material1
                where jobList.Contains(j.Top_Lvl_Job)
                select new 
                { 
                    je.PCR,
                    mr.Job,
                    j.Top_Lvl_Job,
                    OrderQty = ((from j1 in db.Jobs where j1.Job1 == j.Top_Lvl_Job select new { j1.Order_Quantity}).FirstOrDefault()).ToString(),
                    j.Part_Number,
                    mr.Material,
                    mr.Description,
                    mr.Est_Qty,
                    m.Status,
                    theClass = m.Class == null? "": m.Class
                };

j1.Order_Quantity是Job表中的double。但是,当我运行查询时,它返回的值为“ {Order_Quantity = 607}”。

我的愿望是让它只返回“ 607”的值。

我在这里做错了什么?

该代码最初试图将其作为双精度进行输出,但是我切换到字符串以查看将要输出的内容。我来自sql背景,所以我一定很傻。

1 个答案:

答案 0 :(得分:0)

尝试一下

((from j1 in db.Jobs where j1.Job1 == j.Top_Lvl_Job select 
    j1.Order_Quantity.ToString()).FirstOrDefault())
相关问题