我继承了一些具有我不理解但需要改变的语法的代码。以var data = new[]
开头的行似乎是匿名类型?
如何将其改为动态而不是硬编码为3条记录?
public JsonResult GetPieChartData()
{
var myList = db.Database.SqlQuery<Dashboard>("EXEC [DBO].[uspDivisionDashboard2] {0}, {1}",
Environment.UserName, "GUID").ToArray();
var data = new[]
{
//these will get overwritten below
new { Name = "Row 1", Value = 1 },
new { Name = "Row 2", Value = 2 },
new { Name = "Row 3", Value = 3 },
};
int j = 0;
foreach (var i in myList)
{
data[j] = new { Name = i.Stat, Value = i.Total };
j++;
}
return Json(data);
}
我尝试将其转换为字典但是当它传递到我的Google图表时,我现在得到了#34;没有数据&#34;所以这不起作用。
答案 0 :(得分:2)
您可以使用lambda表达式来完成此任务:
var data2 = myList.Select(x => new { Name = x.Stat, Value = x.Total }).ToArray();
return Json(data2);