4

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 出力をフォーマットする方法はありますか?

4

1 に答える 1