转换 o数据输出

本文关键字:输出 数据 转换 | 更新日期: 2023-09-27 18:33:59

我想做的是有一个oData C#服务,它调用一个sproc来获取所需的所有数据。 实际上,我想在输出中规范化数据的两个部分,但在一个结果集中提供给我。 有没有办法操作输出以将结果中的唯一数据集放入输出中的集合中。 这样:

检索到的数据(来自数据库查询):

Data: [{Name:"",Date:"",Age:"",Address:"",City:"",State:""},...]

输出数据(到客户端):

Data: [{Name,"",Date:"",Age:"",Locations:[{Address:"",City:"",State:""},...]}...]

转换 o数据输出

目前尚不清楚如何将 OData 查询映射到 sproc,但我将假设它类似于 ASP.NET Web API 的 OData 终结点。

可以尝试返回分组依据投影作为终结点的IQueryable。 像这样:

DbQuery().GroupBy(x => new {x.Name, x.Date, x.Age})
         .Select(g => new 
          {
              g.Key.Name, 
              g.Key.Date,
              g.Key.Age, 
              Locations = g.Select(x => new {x.Address, x.City, x.State})
          });