【发布时间】:2016-05-19 14:10:00
【问题描述】:
我创建了 OData 控制器,该控制器具有从服务返回数据列表的方法,而不是服务 IEnumarable 数据。我需要从 SQL Query 返回 IQueryable 或 IEnurable 数据。我在核心逻辑中有简单的 SQL 数据适配器和 SQL 命令代码结构。
【问题讨论】:
标签: asp.net-mvc c#-4.0 odata asp.net-web-api2 ienumerable
我创建了 OData 控制器,该控制器具有从服务返回数据列表的方法,而不是服务 IEnumarable 数据。我需要从 SQL Query 返回 IQueryable 或 IEnurable 数据。我在核心逻辑中有简单的 SQL 数据适配器和 SQL 命令代码结构。
【问题讨论】:
标签: asp.net-mvc c#-4.0 odata asp.net-web-api2 ienumerable
您可以使用 linq 扩展 .AsQueryable() 来转换您的项目集合。
您还可以在控制器操作中接受 queryOptions 对象并解析出要在 sql 查询中使用的项目。
[EnableQuery]
public async Task<IQueryable<Tool>> Get(ODataQueryOptions<Tool> queryOptions)
{
return await da.GetTools(queryOptions);
}
查询选项的解释可以在这里找到http://www.ben-morris.com/parsing-odata-queries-decoupled-data-entities-webapi/
【讨论】: