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)高级查询功能及界面的处理
在一般的检索界面中,基于界面易用和美观方便的考虑,我们往往只提供一些常用的条件查询进行列表数据的查询,但是有时候一些业务表字段很多,一些不常见的条件可能在某些场景下也需要用到.因此我们在通用的查询条件 ...
随机推荐
- 从高处理解android与服务器交互(看懂了做开发就会非常的容易)
今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高 ...
- Struts2基础使用教程:OGNL
取自<JAVAWEB整合开发王者归来> 是一种类似EL的语言,比EL强大的多 能访问对象的方法,例如list.size() 能访问静态属性与静态方法,方法是在类名前.方法前加上@.如@ja ...
- strace 解决库依赖问题
解决库依赖问题 starce 的另一个用处是解决和动态库相关的问题.当对一个可执行文件运行ldd时,它会告诉你程序使用的动态库和找到动态库的位置.但是如果你正在使用一个比较老 的glibc版本(2.2 ...
- JAVA IO 学习
Java流的分类 1.输入/输出流 输入流:只能向其读数据,不能写. 输出流:只能向其写数据,不能读. 所谓的输入输出都是相对应用程序而言的. 2.字节流/字符流 单位不同,字节流操作8位,字符流操作 ...
- socket 网络编程
1. 基础socket库 socket.h: /** * 网络套接字库 */ #ifndef Socket_h #define Socket_h #include <stdio.h> #i ...
- HTML5 File详解
input file控件限制上传文件类型 Html5 FileReader 对文件进行Base64编码 FileReader.readAsDataURL
- Android test---JUnit
JUnit 单元测试 Android的单元测试基础也是比较简单,同样还是测试相加方法是否正确,测试用例还是用1+1?=2来个简单的Android单元测试: 1..打开eclipse,新建一个proje ...
- centos7使用传统网卡名
http://serverfault.com/questions/692897/centos-7-disable-predictable-network-interface-names-during- ...
- ubuntu12.04 gitlab搭建
最近在尝试内部搭建gitlab,wiki这些工具...我使用的官网的gitlab-ce包一键安装,自己搭建的ubuntu12.04 server服务器. 分配253地址,放在办公室的小角落. 配置过程 ...
- 移动web app 中的meta 标签
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scal ...