一、条件查

public List<Users> ss(string ids)
{
List<Users> ulist=new List<Users>();
声明使用Linq类
using (StudentDataContext con = new StudentDataContext())
{ 创建条件
ulist =con.Users.Where(r=>r.Ids.ToString()==ids).ToList();
}
return ulist;
}

二、高级查

1、以xx开头:

public List<Users> ss(string ids)
{
List<Users> ulist=new List<Users>();
using (StudentDataContext con = new StudentDataContext())
{ //开头方法(“字符串”)
ulist = con.Users.Where(r => r.Username.StartsWith("赵")).ToList();
}
return ulist;
}

2、以xx结尾:

ulist = con.Users.Where(r => r.Username.EndsWith("赵")).ToList();

3、包含xx:

ulist = con.Users.Where(r => r.Username.Contains("赵")).ToList();

4、个数:

(1)有变量接收:ulist.Count;或con.users.Count()

(2)无接受:ulist.Count();

5、最大值:con.Users.Max(r=>r.Ids)

6、最小值:con.Users.Min(r=>r.Ids)

7、平均值:con.Users.Average(r=>r.Ids)

8、求和:con.Users.Sum(r=>r.Ids)

9、排序:

(1)、OrderBy 按升序对值进行排序。 con.Users.OrderBy(r=>r.Ids) 
(2)、OrderByDescending 按降序对值进行排序
(3)、ThenBy 按升序执行次要排序。 
(4)、ThenByDescending 按降序执行次要排序。

10、分页查询

总共跳转条数             单次显示条数

con.Users.Skip((a - 1) * page).Take(page);

11、组合查询

组合查询是指将前条件查询结果基础上对后集合进行查询

例:

   int page = ;

    protected void Page_Load(object sender, EventArgs e)
{
string id = Request["id"];
if (!IsPostBack)
{
using (StudentDataContext con = new StudentDataContext())
{
DropDownList1.DataSource = con.Nation.ToList();
DropDownList1.DataTextField = "NationName";
DropDownList1.DataValueField = "NationCode";
DropDownList1.DataBind(); Users u = con.Users.Where(w => w.Ids.ToString() == id).FirstOrDefault();
if (u == null)
{
Label4.Text = "";
}
else
{
TextBox1.Text = u.Username;
TextBox2.Text = u.Password;
TextBox5.Text = u.Password;
TextBox3.Text = u.Nikename;
if (u.Sex == false)
{
RadioButtonList1.Items[].Selected = true;
}
TextBox4.Text = Convert.ToDateTime(u.Birthday).ToString("yyyy年MM月dd日");
foreach (ListItem li in dr_nation.Items)
{
if (li.Value == u.Nation)
li.Selected = true;
}
}
}
}
if (Request.Cookies["name"] != null)
{
string a = HttpUtility.UrlDecode(Request.Cookies["name"].Value, System.Text.Encoding.GetEncoding("utf-8"));
Label1.Text ="你好,"+ a;
} if (!IsPostBack)
{
using (StudentDataContext con = new StudentDataContext())
{
dr_nation.DataSource = con.Nation.ToList();
dr_nation.DataTextField = "NationName";
dr_nation.DataValueField = "NationCode";
dr_nation.DataBind();
Repeater1.DataSource =con.Users.ToList().Take(page);
Repeater1.DataBind();
Label2.Text = "";
Label3.Text = (Math.Ceiling(Convert.ToDecimal(con.Users.ToList().Count) / page)).ToString(); }
}
Button1.Click += Button1_Click;
bt_first.Click += bt_first_Click;
bt_last.Click += bt_last_Click;
bt_nex.Click += bt_nex_Click;
bt_up.Click += bt_up_Click; } void bt_up_Click(object sender, EventArgs e)
{
if (Label2.Text == "")
{
return;
}
using (StudentDataContext con = new StudentDataContext())
{
int a = Convert.ToInt32(Label2.Text) - ;
Repeater1.DataSource = Data(con).Skip((a - ) * page).Take(page);
Repeater1.DataBind();
Label2.Text = Label3.Text;
} } void bt_nex_Click(object sender, EventArgs e)
{
using (StudentDataContext con = new StudentDataContext())
{
if (Label2.Text == (Math.Ceiling(Convert.ToDecimal(Data(con).Count) / page)).ToString())
{
return;
} int a = Convert.ToInt32(Label2.Text) + ;
Repeater1.DataSource = Data(con).Skip((a - ) * page).Take(page);
Repeater1.DataBind();
Label2.Text = Label3.Text;
}
} void bt_last_Click(object sender, EventArgs e)
{
using (StudentDataContext con = new StudentDataContext())
{
Repeater1.DataSource = Data(con).Skip((Convert.ToInt32(Label3.Text) - ) * page).Take(page);
Repeater1.DataBind();
Label2.Text = Label3.Text;
}
} void bt_first_Click(object sender, EventArgs e)
{
using (StudentDataContext con = new StudentDataContext())
{
Repeater1.DataSource = Data(con).Take(page);
Repeater1.DataBind();
Label2.Text = "";
Label3.Text = Data(con).Count.ToString();
}
} void Button1_Click(object sender, EventArgs e)
{
using (StudentDataContext con = new StudentDataContext())
{
Repeater1.DataSource = Data(con).Take(page);
Repeater1.DataBind();
Label2.Text = "";
Label3.Text = Data(con).Count.ToString();
}
}
public List<Users> Data(StudentDataContext con)
{
List<Users> ulist = new List<Users>(); ulist=con.Users.ToList();
if (name.Text.Trim() != "")
{
ulist = ulist.Where(w => w.Nikename.Contains(name.Text.Trim())).ToList();
}
if(Ra_sex.SelectedValue!="null")
{
ulist = ulist.Where(w => w.Sex == Convert.ToBoolean(Ra_sex.SelectedValue)).ToList();
}
ulist = ulist.Where(w => w.Nation.ToString() == dr_nation.SelectedValue).ToList(); Label3.Text = (Math.Ceiling(Convert.ToDecimal(ulist.Count) / page)).ToString();
con.Connection.Close(); return ulist;
}

组合查询后台

<asp:Label ID="Label1" runat="server" Text=""></asp:Label><br />
昵称:<asp:TextBox ID="name" runat="server"></asp:TextBox>
性别:<asp:RadioButtonList ID="Ra_sex" RepeatLayout="Flow" RepeatDirection="Horizontal" runat="server">
<asp:ListItem Text="全部" Value="null" Selected="True"></asp:ListItem>
<asp:ListItem Text="男" Value="true"></asp:ListItem>
<asp:ListItem Text="女" Value="false"></asp:ListItem>
</asp:RadioButtonList>
民族:<asp:DropDownList ID="dr_nation" runat="server"></asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="查询" />
<table style="width: 100%; background-color: blue; text-align: center">
<tr>
<td>编号</td>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
<td>操作</td>
</tr> <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr style="background-color: white;">
<td><%#Eval("Ids") %></td>
<td><%#Eval("Username") %></td>
<td><%#Eval("Password") %></td>
<td><%#Eval("Nikename") %></td>
<td><%#Eval("sexstr") %></td>
<td><%#Eval("birthdaystr") %></td>
<td><%#Eval("nationstr") %></td>
<td>
<div id="updatebtn" style="float: left;margin-left:10px">编辑</div>
<div id="deletebtn" style="float: left;margin-left:10px">删除</div>
</td>
</tr>
</ItemTemplate> </asp:Repeater> </table>
当前第[<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>]页
共[<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>]页
<asp:Button ID="bt_first" runat="server" Text="首页" />
<asp:Button ID="bt_up" runat="server" Text="上一页" />
<asp:Button ID="bt_nex" runat="server" Text="下一页" />
<asp:Button ID="bt_last" runat="server" Text="尾页" />

组合查询前台

12、集合交集

结构:集合1.Intersect(集合2).Intersect(集合3).ToList();

例:

public partial class Default2 : System.Web.UI.Page
{
List<test1> tlist1 = new List<test1>();
List<test1> tlist2 = new List<test1>();
List<test1> tlist3 = new List<test1>(); protected void Page_Load(object sender, EventArgs e)
{
tlist1.Add(new test1() { code = "", name = "张三" });
tlist1.Add(new test1() { code = "", name = "李四" });
tlist1.Add(new test1() { code = "", name = "王五" }); tlist2.Add(new test1() { code = "", name = "张三" });
tlist2.Add(new test1() { code = "", name = "李四" });
tlist2.Add(new test1() { code = "", name = "王五" }); tlist3.Add(new test1() { code = "", name = "张三" });
tlist3.Add(new test1() { code = "", name = "李四" });
tlist3.Add(new test1() { code = "", name = "王五" }); List<test1> ttlist = tlist1.Intersect(tlist2).Intersect(tlist3).ToList(); }
} public class test1
{
public string code { get; set; }
public string name { get; set; }
}

集合交集

Linq(高级查询)的更多相关文章

  1. LinQ高级查询、组合查询、IQueryable集合类型

    LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList(); 2.开头 ...

  2. Linq高级查询,分页查询及查询分页结合

    一.高级查询与分页查询 1.以...开头    StartsWith Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith( ...

  3. LinQ 高级查询

    高级查询 模糊查(包含):.Contains(name) 开头:.StartsWith(name) 结尾:.EndsWith(name) 个数:.Count() 最大值:Max(r => r.p ...

  4. 【2017-06-02】Linq高级查询,实现分页组合查询。

    1.以XXX开头 2.以XXX结尾 3.模糊查询 4.求个数 5.求最大值 6.求最小值 7.求平均值 8.求和 9.升序 10.降序 11.分页 Skip()跳过多少条 Take()取多少条 12. ...

  5. LinQ高级查询

    1.模糊查询 con.Users.Where(a =>a.UserName.Contains(name)).ToList(); //包含name con.Users.Where(a =>a ...

  6. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  7. LinQ的查询操作

    LinQ的高级查询:-------------------在car表格进行练习操作: 一.模糊查询:1.在后台代码:(Contains)List<car>list=con.car.wher ...

  8. 2017年12月14日 LinQ高级查&&Asp.net WebForm Asp.net MVC

    LinQ的高级查询用法 开头:StartsWith()结尾:EndsWith()模糊:Contains() 个数:Count最大值:Max(r => r.price)最小值:Min(r => ...

  9. 动态创建Lambda表达式实现高级查询

    需求简介 最近这几天做的东西总算是回归咱的老本行了,给投资管理项目做一个台账的东西,就是类似我们的报表.其 中有一个功能是一个高级查询的需求,在查询条件方面大概有7.8个查询条件.需求就是如果一个条件 ...

  10. ABP开发框架前后端开发系列---(13)高级查询功能及界面的处理

    在一般的检索界面中,基于界面易用和美观方便的考虑,我们往往只提供一些常用的条件查询进行列表数据的查询,但是有时候一些业务表字段很多,一些不常见的条件可能在某些场景下也需要用到.因此我们在通用的查询条件 ...

随机推荐

  1. Page 对象详解

    Page 对象 由于网页编译后所创建的类由Page派生而来,因此网页可以直接使用Page对象的属性.方法和事件. Page对象的常用属性 1.IsPostBack(bool类型) 获取一个值,该值指示 ...

  2. Javascript中的this指向。

    一.JavaScript中的函数 在了解this指向之前,要先弄明白函数执行时它的执行环境是如何创建的,这样可以更清楚的去理解JavaScript中的this指向. function fn(x,y,n ...

  3. SQL Analytic Functions 分析函数

    应用场景 主要使用在需要分组计算的场景中,根据所需的计算值可以分为两类: 1,排序类:如排序号,相邻记录等 2,聚合类:如平均值,累加求和,最大值,最末值等 语法 分析函数的语法在各大数据库中基本类似 ...

  4. Python全栈之路----常用模块----random模块

    程序中有很多地方需要用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串. >>> import random >>> random ...

  5. 20155208徐子涵 Exp4 恶意代码分析

    20155208徐子涵 Exp4 恶意代码分析 实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使 ...

  6. day03字符串

    字符串 1.方法详细内容 方法 强制转换 ##### 1.大小写转换 Value.upper() / value.lower() new_value=value.upper() print(new_v ...

  7. jsp/servlet环境搭建

    手动配置servlet开发环境: 1. eclipse.tomcat.jdk下载安装: 2. eclipse新建项目,项目依赖tomcat的jar包(包含tomcat和servlet相关jar包)以及 ...

  8. ES6语法知识

    let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...

  9. 在centos7中安装python3并设置为默认版本

    1,查看Python默认版本 python -V (大写V) 2,看看执行Python在哪个位置 which python 3,安装gcc,用于编译Python源码 yum install gcc 4 ...

  10. redis使用get key中文变成十六进制编码

    redis-cli 后面加上 --raw 解决中文显示问题 redis-cli -h 127.0.0.1 -p 端口 -a 密码  --raw 不带 --raw 参数: redis-cli -h &g ...