blg*_*boy 1 c# linq asp.net-mvc json
我有以下查询,其中节点是MonProfiles内的导航属性.
var nodes = await dbContext.MonProfiles.Include(x => x.Nodes).
Where(x => x.Id == profileId).
Select(x => x.Nodes.
Select(y => new { y.NodeNativeId, y.NodeClassId, y.NodeName, y.NodeClass.ClassName })).
ToListAsync();
return Json(new { nodes });
Run Code Online (Sandbox Code Playgroud)
我面临的问题是在数组中的数组中返回的JSON:
{
"nodes": [[{
"NodeNativeId": 1234567,
"NodeClassId": 9999,
"NodeName": "TestName",
"ClassName": "TestClassName"
}]]
}
Run Code Online (Sandbox Code Playgroud)
我想回来的是:
{
"nodes": [{
"NodeNativeId": 1234567,
"NodeClassId": 9999,
"NodeName": "TestName",
"ClassName": "TestClassName"
}]
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用LINQ来选择属于Navagation属性的各个属性,这是我第一次遇到这种类型的结果.如何更正我的LINQ查询,以便获得我期望的JSON输出?
尝试选择多个
var nodes = await dbContext.MonProfiles.Include(x => x.Nodes).
Where(x => x.Id == profileId).
SelectMany(x => x.Nodes.
Select(y => new { y.NodeNativeId, y.NodeClassId, y.NodeName, y.NodeClass.ClassName })).
ToListAsync();
Run Code Online (Sandbox Code Playgroud)
这有效地压缩了列表的列表
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |