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

    LinQ高级查询、组合查询

    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);
  • 相关阅读:
    Building Apache Thrift on CentOS 6.5
    ToStringBuilder 学习
    对List中对象的去重
    MyEclipse启动Tomcat服务器时老是跳到Debug调试上
    JS 实现点击展开菜单
    详解公钥、私钥、数字证书的概念 转载
    eclipse svn 忽略 target目录 等等... 我用的后边的方法 (转载)
    Log4j XML 配置
    JS完成改变新闻字体大中小的显示
    Javascript 简单学习
  • 原文地址:https://www.cnblogs.com/zhulijun/p/6942263.html
Copyright © 2011-2022 走看看