Exemple #1
0
        protected void Button3_Click(object sender, EventArgs e)
        {
            var list = Code.ProductDataManage.Instance.AllCache;//指定一个数据源
            #region 常规查找 多次计算和内存操作,增加成本
            var list2 = list.Where(b => b.Id > 0);//执行一次内存查找
            bool a = false;
            if (a)
            {
                list2 = list.Where(b => b.Number > 10);//执行第二次内存查找
            }
            #endregion

            #region 优化后查找 只需一次
            CRL.ExpressionJoin<Code.ProductData> query = new CRL.ExpressionJoin<Code.ProductData>(b=>b.Id>0);
            if (a)
            {
                query.And(b => b.Number > 10);//and 一个查询条件
            }
            list2 = query.Where(list);//返回查询结果 只作一次内存查找
            #endregion
        }
Exemple #2
0
        protected void Button3_Click(object sender, EventArgs e)
        {
            var list = Code.ProductDataManage.Instance.AllCache;//指定一个数据源

            #region 常规查找 多次计算和内存操作,增加成本
            var  list2 = list.Where(b => b.Id > 0);//执行一次内存查找
            bool a     = false;
            if (a)
            {
                list2 = list.Where(b => b.Number > 10);//执行第二次内存查找
            }
            #endregion

            #region 优化后查找 只需一次
            CRL.ExpressionJoin <Code.ProductData> query = new CRL.ExpressionJoin <Code.ProductData>(b => b.Id > 0);
            if (a)
            {
                query.And(b => b.Number > 10); //and 一个查询条件
            }
            list2 = query.Where(list);         //返回查询结果 只作一次内存查找
            #endregion
        }