【问题标题】:Is there a way to represent summary rows with OData?有没有办法用 OData 表示汇总行?
【发布时间】:2013-05-04 11:06:45
【问题描述】:

我正在尝试在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 是公开的实际类。我不认为包装/摘要应该是一流的实体...

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

【问题讨论】:

    标签: asp.net-web-api odata


    【解决方案1】:

    您应该使用 ODataQueryOptions 即

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

    【讨论】:

    • 谢谢!刚开始尝试它,它给了我一个 406。我也需要玩这些路线吗?如果是这样 - 那怎么办?
    • 看起来您正在使用 ODataController。如果您使用的是 ODataController,则应该有一个 OData 路由。如果您只是想拥有 OData 查询语义而不是整个 OData 语义,请使用 ApiController。
    猜你喜欢
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2020-07-14
    • 2020-05-07
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多