public JsonResult GetTopTenData(int id) { var context = new ExpensesEF.Entities(); string _User = context.AspNetUsers.Where(x => x.Email == User.Identity.Name).FirstOrDefault().Id.ToString(); //var datos = context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto==24).OrderBy(x => x.concepto).ThenByDescending(x => x.Concepto).GroupBy(y=>y.Concepto).ToList(); var datos = context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto == id).GroupBy(y => y.Concepto).OrderByDescending(y => y.Count()).ToList().Take(10); List <object> chartData = new List <object>(); chartData.Add(new object[] { "Concepto", "Veces", "Dinero gastado(€)" }); foreach (var Elem in datos) { chartData.Add(new object[] { Elem.Key, Elem.Count(), context.Gasto.Where(x => x.idUserGasto == _User && x.idSubTipoGasto == id && x.Concepto == Elem.Key).Sum(x => x.Precio) }); } return(Json(chartData)); }