SQL数据库中有一个表,如下所示:
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;
因此Total Price
将是3100。
现在,我想用LINQ计算它。 例如:
int TotalPrice = from q in SampleTable
select new
{
TotalPrice = q.number * q.price
}.Sum();
上行代码返回错误的结果! 你能指导我吗?感谢。
答案 0 :(得分:4)
尝试:
decimal TotalPrice = SampleTable.Sum(q => q.number * q.price);
答案 1 :(得分:1)
试试这个
var TotalPrice = from q in SampleTable.AsEnumerable()
let y = Convert.ToInt32(q["number"]) * Convert.ToInt32(q["price"])
select y;
int totalPrice = TotalPrice.Sum();