• Linq 高级查


    Linq 高级查

    1、模糊查询

    con.Users.Where(a =>a.UserName.Contains(name)).ToList(); //包含name
    con.Users.Where(a =>a.UserName.StartsWith(name)).ToList(); //以name开头
    con.Users.Where(a =>a.UserName.EndsWith(name)).ToList(); //以name结尾

    2、最大值、最小值、平均值、总和返回值是问号型(可以为空)

    复制代码
    con.Users.ToList().Count();  //查出集合的个数
    con.Users.Max(r => r.price); //查最大值
    con.Users.Min(r => r.price); //查最小值
    con.Users.Average(r => r.price);//查平均值
    con.Users.Sum(r => r.price); //查总和
    con.Users.OrderBy(r => r.price).ToList();//升序排序
    con.Users.OrderByDescending(r => r.price).ToList();//降序排序
    复制代码

    3、分页

    Skip()跳过的个数;Take() 获取几条数据

    //参数1:每页的个数;参数2:第几页
    public List<Users> selectfen(int pagecount,int page) { return con.Users.Skip(pagecount * (page - 1)).Take(pagecount).ToList(); }

    4、组合查询:
    (1)集合的交集All.Intersect(oillist);

    (2)AsEnumerable()代替ToList(),可以节省内存

    AsEnumerable() 和 .ToList() 的区别:

    • .AsEnumerable()延迟执行,不会立即执行。当你调用.AsEnumerable()的时候,实际上什么都没有发生。
    • .ToList()立即执行
    • 当你需要操作结果的时候,用.ToList(),否则,如果仅仅是用来查询不需要进一步使用结果集,并可以延迟执行,就用.AsEnumerable()/IEnumerable /IQueryable
    • .AsEnumerable()虽然延迟执行,但还是访问数据库,而.ToList()直接取得结果放在内存中。

    (3)using指令调用了一个方法——Dispose()方法。而Dispose()方法的作用就是释放所有的使用资源。

    复制代码
    using (LinQlianxiDataContext con = new LinQlianxiDataContext())
            {
                var all = con.Users.AsEnumerable();
                if (TextBox1.Text.Trim().Length > 0)
                {
                    var allname = con.Users.Where(a => a.UserName.Contains(TextBox1.Text.Trim())).AsEnumerable();
                    all = all.Intersect(allname).AsEnumerable();
                }
                if (DropDownList1.SelectedValue != "0")
                {
                    var allsex = con.Users.Where(a => a.Sex == Convert.ToBoolean(DropDownList1.SelectedValue)).AsEnumerable();
                    all = all.Intersect(allsex).AsEnumerable();
                }  

              Repeater1.DataSource = all;
              Repeater1.DataBind();

            }

    复制代码

     

  • 相关阅读:
    学习OpenGL:笔记八
    学习OpenGL:笔记七
    学习OpenGL:笔记六
    学习OpenGL:笔记五
    学习OpenGL:笔记四
    将Redis加入到Windows服务中
    Oracle设置列宽,行数
    word文档最上面有一条不是页眉的线
    myeclipse中配置自己安装的Tomcat
    SSM框架mapper.xml模糊查询语句
  • 原文地址:https://www.cnblogs.com/power8023/p/6041447.html
Copyright © 2020-2023  润新知