LINQ 各種數據庫查詢方法
1、多條件查詢:
並且 &&
或者 ||
var list = con.car.Where(r => r.code == "c014" || r.oil == 8.2m);
2、模糊查詢
1.模糊
var list = con.car.Where(r => r.name.Contains("AT"));
2.開頭
var list = con.car.Where(r => r.name.StartsWith("皇冠"));
3.結尾
var list = con.car.Where(r => r.name.EndsWith("版"));
3、統計查詢
1.總個數
//var count = con.car.Count();
2.最大值
//var Max = con.car.Max(r => r.price);
3.最小值
//var Min = con.car.Min(r => r.price);
4.平均值
//var avg = con.car.Average(r => r.price);
4、分頁查詢
跳過,獲取
int count = 5; //先定義一個變量用作每頁顯示的條數
int pagecount = 0;
var list = con.car.Skip(pagecount * count 跳過多少條).Take(count取多少條);
一上來pagecount是0,它乘以條數就是跳過多少條,第一次跳過0條,取count條,就是第一頁顯示的內容,當pagecount變成1,
第二次就是跳過count條,再取條過后的count條,也就是跳過了第一頁顯示的條數,再取跳過第一頁后的這些條數,則就是下一頁
5、排序查詢
升序
//var list = con.car.OrderBy(r => r.price);//取數據庫表中數值類型的一列進行排序
降序
//var list = con.car.OrderByDescending(r => r.price);
去重:
var aaa = con.car.Select(r => r.oil).Distinct();
6、外鍵顯示
return this.brand1.brand_name;//在有主外鍵關系的表中,查詢外鍵表時,可以點出主鍵表中任何一列的值,同樣主鍵表如果是
其他表的外鍵,還可以繼續點
7、組合查詢
交集
var list = list1.Intersect(list2).Intersect(list3);
-------------------------------------------------------------
var list1 = con.car.AsQueryable();
var list2 = con.car.AsQueryable();
var list3 = con.car.AsQueryable();
if (TextBox1.Text.Trim().Length > 0)
{
list1 = list1.Where(r => r.name.Contains(TextBox1.Text.Trim()));
}
if (TextBox2.Text.Trim().Length > 0)
{
list2 = list2.Where(r => r.brand1.brand_name.Contains(TextBox2.Text.Trim()));
}
if (TextBox3.Text.Trim().Length > 0)
{
list3 = list3.Where(r => r.oil == Convert.ToDecimal(TextBox3.Text.Trim()));
}
var list = list1.Intersect(list2).Intersect(list3);
Repeater1.DataSource = list;
Repeater1.DataBind();