OData协议、多么牛B的技术、

    传统的分页写习惯了,最近项目中,用到了 Asp.net WebAPI 2.0来做数据交互接口、至于为什么要使用WebAPI,我想只要是对OData协议有了解的朋友。只要说到WebAPI都会想到这个,如果你想对它有更多的深入了解。可以移步博客园(张善友大师)的介绍。 URL(

    微软 5.5.2.0 的 System.Web.OData.dll、不支持$inlinecount的查询、目前我也尚未找到关于Asp.net WebAPI支持OData协议的分页解决方案(如果有朋友知道,方便的话,请与我分享、十分感谢!)

    为此,要做分页查询,我们必须自己来写一个分页查询的程序(Filter)、要支持OData协议,必须要用好微软提供的OData 支持类库、因为只有支持$filter,$orderby的这些操作。我们自己写的分页才会有意义,如果不支持OData协议的这些查询操作。查询帅选等等。那就与传统的数据交互接口一样,就失去了WebAPI支持OData协议的真正意义啦。反正,我用过OData协议一些接口,我是觉得非常的方便,扩展性也很好。应该说WebAPI会是以后的一个很不错的服务接口解决方案、

    分页都需要什么?

    分页包含几要素:记录总条数,每页数量,总页数,当前页,数据列表。这差不多就是一个分页结果需要包括的5要素吧。其实对于分页来讲,服务端需要返回的数据。就只有两个。

第一:总记录条数。总记录条数,必须要服务器端返回,然后客户端可以通过自己的分页定义,来计算出总分页数,客户端保存自己的当前页码等等。

第二:数据列表。这个必须要服务端返回吧(不述了)。

    好,那下面,我们就先做第一件事儿,定义分页对象返回结果对象。是的,正如你想象的一样,非常简单,就两个属性而已。

    ///     /// 定义一个分页数据返回对象    /// -------------------------------    /// Add by hotboy 2015-5-13 11:21:49    ///     public class ODataPagedResult    {        internal ODataPagedResult(object data, int total)        {            this._data = data;            this._total = total;        }        private object _data;        ///         /// Get the Data object        ///         public object Data        {            get { return this._data; }            private set { this._data = value; }        }        private int _total;        ///         /// Get the total count        ///         public int Total        {            get { return this._total; }            private set { this._total = value; }        }    }

从下一篇开始,我们将一起探讨OData协议的 Asp.net WebAPI具体的分页实现代码。