示例#1
0
        /// <summary>
        /// 使用CRLExpression从缓存中查询
        /// 仅在缓存接口部署
        /// </summary>
        /// <param name="expression"></param>
        /// <returns></returns>
        CacheServer.ResultData QueryFromAllCache(LambdaQuery.CRLQueryExpression expression)
        {
            var _CRLExpression = new CRL.LambdaQuery.CRLExpressionVisitor <TModel>().CreateLambda(expression.Expression);
            int total;
            var data = QueryFromAllCacheBase(_CRLExpression, out total, expression.PageIndex, expression.PageSize);

            return(new CacheServer.ResultData()
            {
                Total = total, JsonData = CoreHelper.StringHelper.SerializerToJson(data)
            });
        }
示例#2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     int m = 10;
     var query = new CRL.LambdaQuery.CRLExpressionVisitor<Code.ProductData>();
     //var re = query.Where(b => b.ProductName.Contains("22"));
     var re = query.Where(b => b.ProductName.Substring(2)=="22");
     //var re = query.Where(b => b.ProductName.IndexOf("22")==1);
     var obj = CRL.LambdaQuery.CRLQueryExpression.FromJson(re);
     var expression = query.CreateLambda(obj.Expression);
     //re = CRL.CacheServer.CacheServer.Query(obj);
     Response.Write(re);
 }
示例#3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int m     = 10;
            var query = new CRL.LambdaQuery.CRLExpressionVisitor <Code.ProductData>();
            //var re = query.Where(b => b.ProductName.Contains("22"));
            var re = query.Where(b => b.ProductName.Substring(2) == "22");
            //var re = query.Where(b => b.ProductName.IndexOf("22")==1);
            var obj        = CRL.LambdaQuery.CRLQueryExpression.FromJson(re);
            var expression = query.CreateLambda(obj.Expression);

            //re = CRL.CacheServer.CacheServer.Query(obj);
            Response.Write(re);
        }
示例#4
0
        /// <summary>
        /// 查询方法
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="expression"></param>
        /// <param name="total"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        internal List <T> Query <T>(Expression <Func <T, bool> > expression, out int total, int pageIndex = 0, int pageSize = 0) where T : class, new()
        {
            var query   = new CRL.LambdaQuery.CRLExpressionVisitor <T>();
            var json    = query.Where(expression, pageIndex, pageSize);
            var command = new Command()
            {
                CommandType = CommandType.查询, Data = json, ObjectType = typeof(T).FullName
            };

            json = CoreHelper.StringHelper.SerializerToJson(command);
            var result = SendQuery(json);

            if (result.StartsWith("error"))
            {
                throw new Exception(result);
            }
            var resultData = (ResultData)CoreHelper.SerializeHelper.SerializerFromJSON(result, typeof(ResultData), System.Text.Encoding.UTF8);

            total = resultData.Total;
            var result2 = (List <T>)CoreHelper.SerializeHelper.SerializerFromJSON(resultData.JsonData, typeof(List <T>), System.Text.Encoding.UTF8);

            return(result2);
        }