EF下lambda与linq查询&&扩展方法
1. linq查询数据
WebTestDBEntities db = new WebTestDBEntities();
1.1 linq查询所有列数据
var userInfoList = from u in db.UserInfo
where u.ID ==
select u;
1.2 linq查询部分列数据
var userInfoList = from u in db.UserInfo
where u.ID >=
select new { Name = u.UserName, Pwd = u.UserPass }; foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.Name + ":" + userInfo.Pwd + "<br/>");
}
2. lambda查询数据
2.1 lambda查询所有列数据
var userInfoList = db.UserInfo.Where<UserInfo>(u => u.ID > );
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.UserName + ":" + userInfo.UserPass + "<br/>");
}
2.2 lambda查询部分列数据
var userInfoList = db.UserInfo.Where<UserInfo>(u => u.ID > ).Select(a => new { Name = a.UserName, Pwd = a.UserPass });
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.Name + ":" + userInfo.Pwd + "<br/>");
}
3. 排序
var userInfoList = db.UserInfo.Where<UserInfo>(c => true).OrderBy<UserInfo, int>(u => u.ID).Select(u => new { Name = u.UserName,Email=u.Email });//升序排序
var userInfoList = db.UserInfo.Where<UserInfo>(c => true).OrderByDescending<UserInfo, int>(u => u.ID).Select(u => new { Name = u.UserName, Email = u.Email });//降序排序
var userInfoList = (from u in db.UserInfo
select u).OrderByDescending<UserInfo, int>(c => c.ID).Select(u => new { Name = u.UserName, Email = u.Email });
4. 分页查询示例:
int pageIndex = ;
int pageSize = ;
var userInfoList = db.UserInfo.Where<UserInfo>(c => true).OrderBy<UserInfo, int>(u => u.ID).Skip<UserInfo>((pageIndex - ) * pageSize).Take<UserInfo>(pageSize);
foreach (var userInfo in userInfoList)
{
Response.Write(userInfo.UserName + "<br/>");
}
5、扩展方法
语法要求:
- 扩展方法所在的类必须是
static - 扩展方法必须是一个静态方法
- 扩展方法的第一个参数,必须用
this关键字修饰,而且类型是所扩展的类型 public static string ShowMsg(this string ext, string msg)
{
return string.Format("<span style='color:red'>{0}</span>", msg);
}
string tempStr = string.Empty;
string resultStr = tempStr.ShowMsg("扩展方法示例");
Response.Write(resultStr);
EF下lambda与linq查询&&扩展方法的更多相关文章
- Linq之扩展方法
目录 写在前面 系列文章 扩展方法 总结 写在前面 上篇文章介绍了隐式类型,自动属性,初始化器,匿名类的相关概念,及通过反编译的方式查看了编译器帮我们做了那些事.本篇文章将介绍扩展方法的知识点,及如何 ...
- Linq 查询 与方法调用
通常,使用linq查询时需要一个实现IQueryable<T> 的查询对象 public class DataA<T> : IQueryable<T> {....} ...
- 21扩展IEnumerable<T>泛型接口自定义LINQ的扩展方法
LINQ方法实际上是对IEnumerable<TSource>的扩展,如图: 本篇自定义一个MyWhere方法,达到与Where相同的效果. 使用LINQ自带的Where方法 ...
- Linq与扩展方法
使用数据集 /// <summary> /// 库房信息类 /// </summary> public class Kfxx { /// <summary> /// ...
- Enumerable 下又有新的扩展方法啦,快来一起一睹为快吧
一:背景 1. 讲故事 前段时间将公司的一个项目从 4.5 升级到了 framework 4.8 ,编码的时候发现 Enumerable 中多了三个扩展方法: Append, Prepend, ToH ...
- linq和扩展方法
c#的扩展方法 1.必须是在一个非嵌套.非泛型的静态类中的静态方法 2.至少一个参数,第一个参数附加this,不能有其他修饰符如out.ref 3.第一个参数不能是指针类型 上面例子是自定义的一个扩展 ...
- linq本质扩展方法+lambda表达式
string[] names = { "aa","bb","cc","dd"}; /* IEnumerable<s ...
- NHibernate Linq查询 扩展增强 (第九篇)
在上一篇的Linq to NHibernate的介绍当中,全部是namespace NHibernate命名空间中的IQueryOver<TRoot, TSubType>接口提供的.IQu ...
- CentOS下安装PHP的AMQP扩展方法和步骤
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.基于此协议的客户端 ...
随机推荐
- python:PATH、PYTHONPATH 和 sys.path 的区别
python:PATH.PYTHONPATH 和 sys.path 的区别 共同点 所有在它们的路径里面的 moduel 都可以被 import PATH 在 PATH 中的一些命令,例如 *.exe ...
- Web 性能优化:21 种优化 CSS 和加快网站速度的方法
这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...
- Core Location实现定位
2013/4/22记录: 注意:如非必要,不应该多次轮询位置信息i 使用时,可根据需要制定精度,通过仔细制定所需的绝对最低精度级别,可以纺织不必要的电池消耗. 导入:CoreLocation.f ...
- centos6.5使用LVM
1.添加硬盘 centos6以前的版本用kudzu来不重启识别新硬件. [root@xen01 ~]# /etc/init.d/kudzu start -bash: /etc/init.d/kudzu ...
- 开始食用grpc(之一)
开始食用grpc(之一) 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9501353.html ``` 记一次和一锅们压马路,路过一咖啡厅(某巴克),随口 ...
- Network Security final project---War Game
项目介绍: 为自己的网段设置防火墙并尝试攻击其他组 网络结构: 每组有3个机器,包含一个gateway和两个workstation,其中gateway是可以连接到其他组的gateway,但是无法连接到 ...
- CentOS7上安装Snipe-IT4.6.3详细过程及注意事项
笔者采用的是CentOS7,先对系统进行Update,然后安装军哥的LNMPA,详情请参考lnmp.org 注意:安装LNMPA前需要修改lnmp.conf中这一行为下面,也就是要安装PHP的File ...
- centos 桥接配置 设置网络代理 lnmp搭建
一.桥接配置 centos设置 编辑->虚拟网络编辑器->桥接模式->还原默认设置 虚拟机->设置->网络适配器->桥接 cd /etc/sysconfig/ne ...
- Git Log描述乱码问题解决方法
在git bash 中执行以下命令:git config --global core.quotepath off git config --global --unset i18n.logoutpute ...
- 将欢迎消息添加到PeopleSoft主页--登录事件
以下是如何为PeopleSoft应用程序设置Signon事件消息. 导航到PeopleTools>实用程序>管理> SignOn事件消息 在此页面上,您将看到当前处于活动状态或过去处 ...