Linq高级查询与分页查询

Posted 张鑫4477

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq高级查询与分页查询相关的知识,希望对你有一定的参考价值。

Linq高级查询

以~开头:

r=>r.Name.StartsWith("李");

以~结尾:

r=>r.Name.EndsWith("光");

包含(模糊查询):

r=>r.Name.Contains("四");

数据总个数:

Con.Goods.Count();||Con.Users.ToList().count; 

最大值:

Con.Goods.ToList().Max(r=>r.Price);

最小值:

Con.Goods.ToList().Min(r=>r.Price);

平均值:

Con.Goods.ToList().Average(r=>r.Price);

求和:

Con.Goods.ToList().Sum(r=>r.Price);

升序:

Con.Goods.ToList().OrderBy(r=>r.Price);

降序:

Con.Goods.ToList().OrderByDescending(r=>r.Price);

////////////////////////////////////////////////////////

组合查询:

 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox></div>
        <div>
            性别:<asp:DropDownList ID="DropDownList1" runat="server">
                <asp:ListItem Text="男和女" Value="Null"></asp:ListItem>
                <asp:ListItem Text="" Value="True"></asp:ListItem>
                <asp:ListItem Text="" Value="False"></asp:ListItem>
            </asp:DropDownList>
        </div>
        <div>
            成绩:<asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem Text="不限" Value="Null"></asp:ListItem>
                <asp:ListItem Text="大于" Value=">"></asp:ListItem>
                <asp:ListItem Text="小于" Value="<"></asp:ListItem>
            </asp:DropDownList><asp:TextBox ID="T2" runat="server"></asp:TextBox>
        </div>
        <asp:Button ID="Button2" runat="server" Text="查询" />
 void Button2_Click(object sender, EventArgs e)
    {
        using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
        {
            List<Stu> s = con.Stu.ToList();
            if (T1.Text.Trim().Length > 0)
            { s = s.Where(r => r.Name.Contains(T1.Text.Trim())).ToList(); }
            if (DropDownList1.SelectedValue != "Null")
            {  s = s.Where(r => r.Sex == Convert.ToBoolean(DropDownList1.SelectedValue)).ToList();}
            if (DropDownList2.SelectedValue != "Null")
            {
                if (DropDownList2.SelectedValue == ">")
                { s = s.Where(r => r.Score > Convert.ToInt32((T2.Text.Trim()))).ToList(); }
                else
                { s = s.Where(r => r.Score < Convert.ToInt32((T2.Text.Trim()))).ToList(); }
            }
            Repeater1.DataSource = s;
            Repeater1.DataBind();
        }
    }

组合查询+分页查询:

 

以上是关于Linq高级查询与分页查询的主要内容,如果未能解决你的问题,请参考以下文章

Linq组合查询与分页组合查询结合

linq 条件查询与分页

与分页相关的哪些 LINQ 操作可能会减慢我的查询速度?

高级查询与分页

组合查询与分页查询结合应用

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