MVC4 WebApi OData $计数不能与IQueryable一起使用

时间:2012-10-18 18:11:42

标签: asp.net-mvc-4 asp.net-web-api odata

我在MVC4中的Controller中有一个简单的Get动作:

// GET /branches
// returns a list of available branches
[Queryable]
public IQueryable<string> Get() {
    return BranchesRepository.GetBranchNames().AsQueryable();
}

当我使用GET调用它时甚至使用一些OData选项(如$ top,$ skip和$ filter)时,这非常有效。 但是当我用$ count调用它时它不起作用。

e.g:

/branches/$count

返回

[]

虽然我希望看到一个数字。

响应标题为我提供了一个我正在使用的asp.net版本

X-AspNet-Version: 4.0.30319

此版本中的$ count参数是否已损坏?或者我可以采取哪些措施让它发挥作用?

1 个答案:

答案 0 :(得分:2)

是否仍在使用测试版/ RC版的Web API?如果是这样,只支持$ top,$ skip,$ orderby和$ filter。 此外,RTM版本中删除了QueryableAttribute

现在仅通过预览包http://www.nuget.org/packages/Microsoft.AspNet.WebApi.OData在Web API中支持OData。

但不管怎么说,目前还不支持$ count。