У меня есть странное поведение с linq для entity/Json/MVC.net 4
У меня есть этот бит кода, и по какой-то нечетной причине каждый другой порядок свойств списка отменяется.
var output = db.FooBar.Where(a => a.lookupFoo == bar)
.Select(a => new List<double>{
//value 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]
]
};
Мне удалось обойти это, поставив toList()
между Where и Select, но мне все равно хотелось бы знать, почему это происходит.
Дополнительная информация: EF 4.4 (tt сгенерированный контекст), SQL Server 2008r2 Express.NET 4.0, MVC 3.0, Vanilla System.Web.Mvc.JsonResult, таблица состоит из первичного ключа int, float для значений, исключающих последний, который является int