【发布时间】:2014-10-28 18:23:41
【问题描述】:
我是 lambda 表达式的新手。我正在尝试将.Sum() 方法用于数据库搜索的结果,我想对Importe 列中的所有值求和,我正在使用另一个表中的ID 选择值,但是Json 将每个值的整个列表发回给我,它没有做总和。还是我不知道怎么申请?
谢谢
public JsonResult IngresaCuentas(string codigo)
{
ContextoAngeles db = new ContextoAngeles();
var suma = (from data in db.Cuentas
where data.Codigo == codigo
select (from n in db.MovimientosPolizas
where data.Id == n.IdCuenta
group n by new { n.Importe} into g
let sumaTotal = (g.Sum(n => n.Importe))
select new
{
Total: sumaTotal
})).ToList();
return Json(suma, JsonRequestBehavior.AllowGet);
}
我在控制台中得到了这个:
[[{"Total":0},{"Total":20},{"Total":150},{"Total":330},{"Total":56.2},{"Total":240},{"Total":1750},{"Total":70.07},{"Total":480},{"Total":540},{"Total":95},{"Total":200},{"Total":108},{"Total":108.8},{"Total":880},{"Total":111.98},{"Total":115},{"Total":240},{"Total":125},{"Total":129.98},{"Total":780},{"Total":131.42},{"Total":134.59},{"Total":1260},{"Total":141.65},{"Total":145}]] (and a lot more..)
【问题讨论】:
-
你能提供一些样本数据预期输出的数据吗?为什么要按
Importe分组?您肯定不想要所有具有特定值的Importe值的总和吗?你在最后做一个ToList(),但是你抱怨它发回了一个完整的列表。仅凭此代码 sn-p,我们很难知道您真正想要什么。
标签: c# linq lambda linq-expressions