16

linq to entity / Json /MVC.net4で最も奇妙な動作をしています

私はこのコードを持っていますが、奇妙な理由で、他のすべてのリストのプロパティの順序が逆になっています。

var output = db.FooBar.Where(a => a.lookupFoo == bar)
                      .Select(a => new List<double>{
                                     //value's are the same per row 
                                     //for demonstration sake.
                          a.fooBarA,  //Always 12.34
                          a.fooBarB,  //Always 12.34
                          a.fooBarC,  //Always 0
                          a.fooBarD  //Always 0 //lazy casting to double from int
                      });
return Json(new {output});

出力は次のようになります。

{
  "output": [
    [12.34, 12.34, 0,     0], 
    [0,     0,     12.34, 12.34], 
    [12.34, 12.34, 0,     0],
    [0,     0,     12.34, 12.34]
  ]
};

WhereとSelectの間に配置することで回避できましたがtoList()、なぜこの動作が発生しているのかを知りたいのです。

詳細:EF 4.4(ttで生成されたコンテキスト)、SQL Server 2008r2 express .NET 4.0、MVC 3.0、Vanilla System.Web.Mvc.JsonResult、テーブルはintプライマリキーで構成され、intである最後のキーを除く値をフロートします

4

2 に答える 2