如何从存储过程中使用OData?

时间:2018-05-08 06:13:41

标签: c# asp.net-mvc odata

如何从存储过程中使用OData?

我已经定义了一个这样的控制器

public class ReportOdataController : ODataController
{
    private DB_PLBEntities db = new DB_PLBEntities();

    [EnableQuery]
    public IQueryable<Stp_Select_Report_Result> GetReportOdata()
    {
        return db.Stp_Select_Report(null).AsQueryable();
    }
}

但是当我通过uri /odata/ReportOdata?$inlinecount=allpages调用它时会抛出以下错误:

  

查询的结果不能多​​次枚举。

我是编程新手,所以我不明白错误发生的原因或解决方法?

1 个答案:

答案 0 :(得分:1)

只需更改(假设dbDB_PLBEntities)是List<T>):

return db.Stp_Select_Report(null).AsQueryable();

致:

return db.Stp_Select_Report(null).AsQueryable().ToList();

希望这会有所帮助:)