我已经实现了 OData 来查询我的 API 生成的列表。但有时列表是空的,OData 结果应该只返回一个空的 json,但它没有。相反,它会引发以下错误
值必须大于或等于 1。 参数名称:value 实际值为 0。
这是我的控制器方法
// Get states by Id
[HttpGet]
[ActionName("GetStatesByID")]
public ODataResult<DataAccess.Model.State> GetStatesByID(ODataQueryOptions options,int id)
{
var states = this.Repository.GetAllStatesByCountry(id).AsQueryable<DataAccess.Model.State>();
var results = (options.ApplyTo(states) as IQueryable<DataAccess.Model.State>);
long count = states.Count();
return new ODataResult<DataAccess.Model.State>(results, null, count);
}
只要列表为空,我就可以将计数设为 0,这不会引发错误,但这确实不是一个好习惯,所以我想知道是否有任何其他解决方法,以便 ODataResult 返回一个空 json 时列表是空的而不是抛出错误?
谢谢