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