我想从我的程序中的谷歌图表数据库中获取数据。我想创建的,而不是一遍一遍的重复我的代码匿名类型(VAR)的数组:创建一个匿名类型的数组
public JsonResult GetChartData(int sID, int regionID)
{
var testPathOne = from p in _rep.GetMetricsData().GetLHDb().page_loads
where p.t_3id == sID && p.test_path_id == 1
select new { time = p.time, created_at = p.created_at };
var testPathTwo = from p in _rep.GetMetricsData().GetLHDb().page_loads
where p.t_3id == sID && p.test_path_id == 2
select new { time = p.time, created_at = p.created_at };
var tOne = testPathOne.ToArray();
var tTwo = testPathTwo.ToArray();
var name = new { test1 = tOne, test2 = tTwo };
return Json(name);
}
我知道我需要一个for循环,所以我可以去通过所有的测试路径的ID,而不是硬编码他们这样p.test_path_id == 1
,但我的问题是如何将使得这部分动态var name = new { test1 = tOne, test2 = tTwo };
编辑: 我道歉,我愿意做这样的事情:
name is an array
for loop:
testPath = query
name.Add(testPath)
我希望有道理
你是什么意思“使这部分动态”?动态以什么方式?真的不清楚你想要达到什么。如果你正在寻找动态属性名称,你可以看看'ExpandoObject',但我认为你最好直接构建JSON ...... –
我不明白这个问题。只要仔细检查,'var'只能用于编译器可以在编译时完全确定**的情况**'var'代表的类型。如果直到运行时才能确定类型,则可以考虑使用'dynamic',但我不确定这是如何适合这种特殊情况的。 – sblom
我想他想把这两个列表返回给单个json。 –