Entity Framework の SQL 関数からのアイテムを含む .NET ディクショナリがあります。アイテムを辞書に追加するコードは次のとおりです。
public FooViewModel GetFoo()
{
var fooresults = new FooResultsViewModel();
using (var db = new DBEntities())
{
var results = db.FunctionResults().ToList();
foreach (var d in results)
{
foo.a.Add(d.ColumnName, d.ColumnValue);
}
}
return fooresults;
これが私のモデルです:
public class FooViewModel : GraphViewModel
{
public FooResultsViewModel() { }
public Dictionary<string, decimal> a = new Dictionary<string, decimal>();
}
最後に、ここに私のコントローラーがあります:
public virtual JsonResult GetData()
{
var fooresults = new FactSurveryResultsQueries().GetAverages();
return new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = fooresults };
}
そして返される JSON は次のとおりです。
{"a":
{"FooResult1":3.579831,
"FooResult2":3.359243,
"FooResult3":3.720588,
"FooResult4":3.636554,
"FooResult5":3.285714,
"FooResult6":3.758403,
"FooResult7":3.262605}}
ただし、次のように返されるものを探しています:
{"a":
{ColumnName:"FooResult1",
ColumnValue:3.579831,
ColumnName:"FooResult2",
ColumnValue:3.359243,
ColumnName:"FooResult3",
ColumnValue:3.720588,
ColumnName:"FooResult4",
ColumnValue:3.636554,
ColumnName:"FooResult5",
ColumnValue:3.285714,
ColumnName:"FooResult6",
ColumnValue:3.758403,
ColumnName:"FooResult7",
ColumnValue:3.262605}}
2 番目の結果の JSON 出力をフォーマットする方法はありますか?