5

我试图总结我在 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();

我正在尝试获取第 1 部分 + 第 2 部分的总数;

当我尝试测试结果时,我没有得到任何值,我得到一个空白。

有人知道我在做什么不正确吗?

在此处输入图像描述

4

4 回答 4

1

我会说空白必须意味着您存储值的密钥与您正在阅读/显示的密钥不匹配。如果是这样,您至少会看到0,而不是空白。

分两步完成并调试它。

var total = sigmaGood.Sum();
ViewData["GoodTotal"] = total; //breakpoint on this line and check value of total.

或者硬编码一个测试值,我敢打赌它仍然是空白的:

ViewData["GoodTotal"] = 1234;
于 2013-10-21T14:43:25.460 回答
0

null您确定您的输入数据中没有 a吗?这可以呈现为一个 SQL SUM()null如果任何输入值为null.

于 2013-10-21T15:07:08.320 回答
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();
于 2013-10-21T14:42:15.333 回答
0

尝试这个:

var sum = db.tbl_dppITHr.Where(n => n.ProductionHour >= SelectedDateDayShiftStart
                                    && n.ProductionHour <= SelectedDateEnd)
                        .Sum(n => n.part1 + n.part2);
于 2013-10-21T14:42:45.937 回答