zoukankan      html  css  js  c++  java
  • LinQ高级查询、组合查询、IQueryable集合类型

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

     

    LinQ高级查询:

    1、模糊查询(包含)

    Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList();

    2、开头

    Repeater1.DataSource = con.car.Where(r =>r.name.StartsWith(s)).ToList();

    3、结尾

    Repeater1.DataSource = con.car.Where(r =>r.name.EndsWith(s)).ToList();

    4、个数

    IEnumerable<car> clist = con.car;
    int count =clist.Count;

    5、最大最小值平均值

    con.car.Max(r => r.price);
    con.car.Min(r => r.price);
    con.car.Average(r => r.price);

    6、求和、升序、降序

    con.car.Sum(r => r.price);
    Repeater1.DataSource = con.car.OrderBy(r => r.price);
    Repeater1.DataSource = con.car.OrderByDescending(r => r.price);

    7、分页

      集合的Skip方法:跳过多少条数据

      Take方法:取前多少条数据  

      例:打开页面绑定第一页的数据

    复制代码
    int count = 4;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (Data0928DataContext con = new Data0928DataContext())
                {
                    Repeater1.DataSource = con.Users.Take(count).ToList();
                    Repeater1.DataBind();
                }
            }
        }
    复制代码

    8、组合查询

      首先介绍一下IQueryable集合,在LinQ中使用此集合,不会立马查询出实际的数据,而是在真正使用到此集合时才会去执行查询,可以提高服务器内存的效率,避免占用内存过多导致服务器崩溃,但需注意如果中途把此集合ToList()则会立刻执行并返回实际的数据。

    复制代码
    using (Data0928DataContext con = new Data0928DataContext())
            {
                IQueryable<Users> ulist = con.Users;
                if (name.Length > 0)
                {
                    ulist = ulist.Where(r => r.UserName.Contains(name));
                }
                if (nick.Length > 0)
                {
                    ulist = ulist.Where(r => r.NickName.Contains(nick));
                }
                if (year.Length > 0)
                {
                    ulist = ulist.Where(r => Convert.ToDateTime(r.Birthday).Year.ToString() == year);
                }
                Repeater1.DataSource = ulist.Take(count);
                Repeater1.DataBind();
            }    
    复制代码

    9、集合的交集

      集合的Intersect方法,取两个集合的交集

    var allList = nameList.Intersect(brandList);
  • 相关阅读:
    Select * 一定不走索引是否正确?
    csshack技术
    ios学习笔记之UIViewControl生命周期
    selenium webdriver (python)
    string中Insert与Format效率对比、String与List中Contains与IndexOf的效率对比
    HDU 2083 简易版之最短距离
    xtrabackup支持的engine
    C++可变参数的另一种实现
    程序员应具备的素质(国内的大多程序员生产力不够,所以只能早早转行)
    Qt导出Excel的简单实现
  • 原文地址:https://www.cnblogs.com/deepalley/p/13433481.html
Copyright © 2011-2022 走看看