有没有办法用OData表示摘要行?

时间:2013-05-09 20:46:59

标签: asp.net-web-api odata

我正在尝试将其他信息添加到从ODataController方法返回的项目列表中。用例是摘要行。所以我们基本上想要返回报告的行,然后还有总计,小计等的附加信息。

所以,基本上从这个方法开始:

public PageResult<MyReportLine> Get(ODataQueryOptions odataQueryOptions)

我尝试在MyReportLine

中包装MyReport
public class MyReport {
    IEnumerable<MyReportLine> _myReportLines;
    MySummaryRow _mySummaryRow;
}

然后返回此MyReport对象。

public PageResult<MyReport> Get(ODataQueryOptions odataQueryOptions)

这种方法似乎搞乱了所有查询机制,因为URI中提供的查询定位为MyReportLine,但MyReport是暴露的实际类。我不认为包装器/摘要应该是一流的实体......

是否有推荐的方法来完成这项任务?

1 个答案:

答案 0 :(得分:0)

您应该使用ODataQueryOptions,即

public PageResult<MyReport> Get(ODataQueryOptions<MyReportLine> odataQueryOptions)