在SQL数据库中有一个表格,如下所示:
SampleTable:
我想要像下面这样计算总价格:
SampleTable:
-----------------------
id | number | price
-----------------------
1 | 3 | 300
2 | 1 | 200
3 | 5 | 100
4 | 10 | 10
5 | 30 | 30
6 | 1 | 500
-----------------------
我想要像下面这样计算总价格:
in each row => var SumOfEachRow = number * price;
Total Price = sum of SumOfEachRow;
因此,总价
将是3100。
现在,我想使用LINQ进行计算。 例如:
int TotalPrice = from q in SampleTable
select new
{
TotalPrice = q.number * q.price
}.Sum();
上述代码返回了错误的结果!!!您能给我指导吗?谢谢。
算术溢出错误,将表达式转换为int数据类型。
- Mohammad DayyanTotalPrice
声明为double
或decimal
。答案已相应更新。 - Frédéric Hamididouble
,但是我再次收到了异常。我已经使用 foreach 进行了测试。var query = SampleTable.Select(q=>q); foreach (var item in query) TotalPrice += item.number * item.price
它没有返回异常!!! - Mohammad Dayyanq.price
必须是decimal
类型。请尝试使用decimal TotalPrice
。 - Frédéric Hamidi