转换oData输出

时间:2014-12-12 03:26:08

标签: c# odata

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

检索数据(来自db查询):

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

输出数据(到客户端):

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

1 个答案:

答案 0 :(得分:0)

目前尚不清楚如何将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})
          });