我正在使用 HTTP POST 从 ODataController 获取数据。但我无法查询我的服务
[HttpPost]
[EnableQuery]
public IQueryable<MyDataObject> FetchCCMNewIssueLogViewGridData()
{
var result = CCMModelDataContext.MyDataObject.AsQueryable();
return result ;
}
如何从客户端发送请求以接受 ODataQueryOptions 对象?
[HttpPost]
public IQueryable<MyDataObject> FetchGridData(ODataQueryOptions<MyDataObject> options)
{
var result = options.ApplyTo(CCMModelDataContext.MyDataObject.AsQueryable(), new ODataQuerySettings());
return result as IQueryable<MyDataObject>;
}
但是在 ODataQueryOptions 对象中,我将 ODataQueryOptions 对象中的 'Filter' 和 'OrderBy' 设为 null。
这是我创建请求的剑道参数映射方法
parameterMap: function (data, type) {
var newData = customFilterOptions.grdParameterMap(data, type);
return JSON.stringify(newData );
},
我怎样才能做到这一点?
无需修改 API Controller 中的查询选项。我可以以哪种格式将数据发送到 API 以将其作为 ODataQueryOPtions 对象接受。截至目前,我的“请求有效载荷”是
{$top: 20, $orderby: "field1 desc", $filter: "(field1 eq 2 and field2 eq 385)", $count: true, $skip : 20}
我怎么能做到这一点?这个 EnableQuery 可以与“HTTP POST”一起使用吗?提前致谢