LINQ学习笔记

来源:互联网 发布:手机赌钱软件 编辑:程序博客网 时间:2024/05/21 13:54


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()


原创粉丝点击