Exemplo n.º 1
0
        /// <summary>
        /// 使用 IQueryable 或者 Get() 应用到 ODataQueryOptions 并生成查询表达式
        /// </summary>
        /// <typeparam name="T">类型T</typeparam>
        /// <param name="options">ODataQueryOptions 类型参数实例</param>
        /// <param name="queryable">自定义的 IQueryable 类型实例, 如没有这个参数, 将使用 Get</param>
        /// <returns>返回应用到 ODataQueryOptions 之后的 IQueryable</returns>
        public static IQueryable Get <T>(this ODataQueryOptions <T> options, IQueryable <T> queryable = null) where T : class, IEntitySet
        {
            queryable = queryable ?? WebConfig.DbContext.Get <T>();
            if (WebConfig.CustomQuery != null)
            {
                return(options.ApplyTo(WebConfig.CustomQuery(queryable)));
            }

            return(options.ApplyTo(queryable));
        }