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