可以找到odata总记录而不提取它们吗?

时间:2014-03-28 18:58:59

标签: odata

创建分页并每页提取10条JSON记录:

  var coursemodel = query.Skip(skip).Take(take).ToList();

我需要在网页上显示数据库中可用的记录总数。例如,您正在查看20到30的x(其中x是记录总数)。可以在不通过网络传输记录的情况下找到x吗?

3 个答案:

答案 0 :(得分:2)

对它进行排序。这个

http://yourserver7:40479/odata/Courses?$top=1&skip=1&$inlinecount=allpages

得到此http://yourserver7:40479/odata/Courses?$top=1&skip=1&$inlinecount=allpages

 {
  "odata.metadata":"http://yourserver7:40479/odata/$metadata#Courses","odata.count":"503","value":[
    {
      "CourseID":20,"Name":"Name 20","Description":"Description 20","Guid":"Guid 20"
    }
  ]
}

然后我从odata.count获得了价值!我的网址会找到所有记录,在适用的地方添加$ filter ...

答案 1 :(得分:1)

您可以使用$count运算符返回记录总数,具体如下:

http://services.odata.org/OData/OData.svc/Categories(1)/Products/$count

不确定Linq的语法是什么,但很确定它是可行的。

PS - 总是一个很好的参考:http://www.odata.org/documentation/odata-version-2-0/uri-conventions/

答案 2 :(得分:0)

试试这个:

context.EFCars.Where(c => c.Description == desc).Count();

EFCars是实体集名称。