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 - )).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 > )
{
var allname = con.Users.Where(a => a.UserName.Contains(TextBox1.Text.Trim())).AsEnumerable();
all = all.Intersect(allname).AsEnumerable();
}
if (DropDownList1.SelectedValue != "")
{
var allsex = con.Users.Where(a => a.Sex == Convert.ToBoolean(DropDownList1.SelectedValue)).AsEnumerable();
all = all.Intersect(allsex).AsEnumerable();
}
Repeater1.DataSource = all;
Repeater1.DataBind();
}
LinQ高级查询的更多相关文章
- LinQ高级查询、组合查询、IQueryable集合类型
LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList(); 2.开头 ...
- Linq高级查询,分页查询及查询分页结合
一.高级查询与分页查询 1.以...开头 StartsWith Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith( ...
- LinQ 高级查询
高级查询 模糊查(包含):.Contains(name) 开头:.StartsWith(name) 结尾:.EndsWith(name) 个数:.Count() 最大值:Max(r => r.p ...
- 【2017-06-02】Linq高级查询,实现分页组合查询。
1.以XXX开头 2.以XXX结尾 3.模糊查询 4.求个数 5.求最大值 6.求最小值 7.求平均值 8.求和 9.升序 10.降序 11.分页 Skip()跳过多少条 Take()取多少条 12. ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- LinQ的查询操作
LinQ的高级查询:-------------------在car表格进行练习操作: 一.模糊查询:1.在后台代码:(Contains)List<car>list=con.car.wher ...
- 2017年12月14日 LinQ高级查&&Asp.net WebForm Asp.net MVC
LinQ的高级查询用法 开头:StartsWith()结尾:EndsWith()模糊:Contains() 个数:Count最大值:Max(r => r.price)最小值:Min(r => ...
- 动态创建Lambda表达式实现高级查询
需求简介 最近这几天做的东西总算是回归咱的老本行了,给投资管理项目做一个台账的东西,就是类似我们的报表.其 中有一个功能是一个高级查询的需求,在查询条件方面大概有7.8个查询条件.需求就是如果一个条件 ...
- ABP开发框架前后端开发系列---(13)高级查询功能及界面的处理
在一般的检索界面中,基于界面易用和美观方便的考虑,我们往往只提供一些常用的条件查询进行列表数据的查询,但是有时候一些业务表字段很多,一些不常见的条件可能在某些场景下也需要用到.因此我们在通用的查询条件 ...
随机推荐
- 关于CSS学习的第一章
1.CSS三种书写的方式:嵌入式.外链式.行内式 嵌入式就是将CSS写入在<style></style> 外链式将外面的CSS文件通过HTML中的标记链接过来:<link ...
- git的基础介绍和使用
git工作原理 git的工作原理还是比较简单的,当我们创建了本地代码仓库后,会在本地代码仓库的根目录中生成一个.git的隐藏文件. .git为一个文件目录,又叫做版本库.在本地代码仓库文件夹中,除.g ...
- 超链接实现post方式提交
思路:如果想要超链接实现post方式提交,必须借助表单.下面得两种方式,一种是借助显示的form表单,一种是借助隐式的form表单方式一:将超链接放到一个form表单中,或者超链接本身就在一个form ...
- Jsp与servlet本质上的区别
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长 ...
- 安装centOS分区的图解记录
要将linux的boot loader安装在MBR上,才能起到多重引导的作用.
- delphi.thread.同步
注意:此文只是讲线程间的同步,其它同步不涉及. 线程同步是个好话题,因为写线程经常会遇到,所以就写写自己知道的东西. D里面,同步(特指线程同步)从线程的角度来分,有几种情况: 1:主线程与工作线程的 ...
- FPGA综合工具--Synplify Pro的常用选项及命令
最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来. 本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html Sy ...
- sax/dom/jdom/dom4j的区别
sax/dom/jdom/dom4j的区别[转] 博客分类: xml 网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份. SAX sax分析器在对xml文档进行分析时 ...
- 数据回复之TestDisk的使用
1,选择[No Log]或者是[Create]进入 2.选择好要恢复的硬盘,回车 3.选择Intel或者其他的系统,大多数选择intel(windows)使用,回车确认 4.选择[Analyse](分 ...
- JAVA获取客户端IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...