LINQ学习笔记


1.按条件查询

     using (var context = new Db())
            {
                var list = context.SW_PRODUCTS.Where(t => t.SERIESID.Value == sid && t.ISONSALE.Value == 1 && t.SDELL.Value == 0)
                    .OrderByDescending(t => t.ORDERS)
                    .ToList();

}

2.单个查询

 var pro = context.SW_PRODUCTS.FirstOrDefault(c=>c.ID==id);


3.模糊查询

contains相当于like

 var list = context.SW_PRODUCTS.Where(t => t.PRODUCTSNAME.Contains(~~~))
                    .OrderByDescending(t => t.ORDERS)
                    .ToList();


4.分页

  var list3 = context.SW_PRODUCTS.Where(t => t.PRODUCTSNAME.Contains("S3N-160/R50 TM 10ITH"))
                .OrderByDescending(t => t.ORDERS).Skip(5).Take(5)
            .ToList();

skip跳过5条 take再取5条


5. 自己构建查询条件

需要引入system.linq.exepression然后就可以自居写查询条件

                int tid = GetTid(tn);
                int bid = GetBid(bn);
                int sid = GetSid(sn);
                IList<SW_PRODUCTS> list = new List<SW_PRODUCTS>();
                Expression<Func<SW_PRODUCTS, bool>> where = f => true;
                Expression<Func<SW_PRODUCTS, bool>> where2 = f => true;
                Expression<Func<SW_PRODUCTS, bool>> where3 = f => true;
        
                if (!Tool.IsNullOrEmpty(tn))
                {
                    where = t => t.TYPEID.Value == tid && t.ISONSALE.Value == 1 && t.SDELL.Value == 0;
                }
                if (!Tool.IsNullOrEmpty(bn))
                {
                    where2 = t => t.BRANDID.Value==bid&& t.ISONSALE.Value == 1 && t.SDELL.Value == 0;
                }
                if (!Tool.IsNullOrEmpty(sn))
                {
                    where2 = t => t.SERIESID.Value ==sid&& t.ISONSALE.Value == 1 && t.SDELL.Value == 0;
                }
                list = context.SW_PRODUCTS.Where(where).Where(where2).Where(where3).OrderByDescending(t => t.ORDERS).Skip(page * count).Take(count).ToList();
               


6.用LINQ筛选不重复数据

      public List<string> Test(int id)
        {
            List<string> li = new List<string>();
            List<Product> ps = ProListByTypeIdAll(id);
            li = ps.Select(t => t.BrandName).Distinct().ToList();
            return li;
        }
Distinct()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值