我想在LINQ中总结两列。以下是我的LINQ语句
var SigmaGood = from n in db.tbl_dppITHr
where n.ProductionHour >= SelectedDateDayShiftStart
where n.ProductionHour <= SelectedDateEnd
select n.part1 + n.part2
ViewData["GoodTotal"] = SigmaGood.Sum();
我正试图获得part1 + part2的总数;
当我尝试测试结果时,我没有得到任何值,我得到一个空白。
任何想法,我做错了什么?
答案 0 :(得分:1)
我会说空白必须表示您存储的值与您正在阅读/显示的键不匹配。如果是这样,你至少会看到0
,而不是空白。
分两步进行调试。
var total = sigmaGood.Sum();
ViewData["GoodTotal"] = total; //breakpoint on this line and check value of total.
或硬编码测试值,我敢打赌它仍然是空白的:
ViewData["GoodTotal"] = 1234;
答案 1 :(得分:0)
您确定part1
和part2
是否有价值?
var SigmaGood = from n in db.tbl_dppITHr
where n.ProductionHour >= SelectedDateDayShiftStart
where n.ProductionHour <= SelectedDateEnd
select n.part1 ?? 0 + n.part2 ?? 0
ViewData["GoodTotal"] = SigmaGood.Sum();
答案 2 :(得分:0)
试试这个:
var sum = db.tbl_dppITHr.Where(n => n.ProductionHour >= SelectedDateDayShiftStart
&& n.ProductionHour <= SelectedDateEnd)
.Sum(n => n.part1 + n.part2);
答案 3 :(得分:0)
您确定输入数据中没有null
吗?这可以呈现为SQL SUM()
,如果任何输入值为null
,它将转到null
。