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,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.基于此协议的客户端 ...
随机推荐
- SeaJS之use方法
SeaJS 是一个js模块加载器.在 SeaJS 看来,一个文件就是一个模块.所有模块都遵循 CMD 规范 define(function(require, exports, module) { va ...
- c++ 积累
class MyClass { public: MyClass()=default; MyClass(const MyClass& )=delete; ...... 有些时候我们希望限制默认函 ...
- unity runtime时导入fbx文件
TriLib is a Unity model loader package designed to allow the user to load various 3D model formats i ...
- HEX SDUT 3896 17年山东省赛D题
HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到 ...
- 可变参数函数(stdarg.h)的使用
2013/5/3记录: stdarg.h是C语言中C标准函数库的头文件,stdarg是由standard(标准) arguments(参数)简化而来,主要目的为让函数能够接收可变参数. stdar ...
- C++第一课:基本语法for Visual Studio 2015[个人见解]
在学习C++时,或许不了解情况的人会问:到底先学习C语言还是C++,哪个更好? 那么小编的个人见解是:你在学习时别管哪个语言好与不好,是个语言它都是好语言,关键在于你会挖掘其中存在的价值,C++可以说 ...
- PRTG测试!
http://www.paessler.com/prtg. 我的效果图:
- Linux下Shell重定向
1. 标准输入,标准输出与标准错误输出 Linux下系统打开3个文件,标准输入,标准输出,标准错误输出. 标准输入:从键盘输入数据,即从键盘读入数据. 标准输出:把数据输出到终端上. 标准错误输出:把 ...
- JavaScript模板引擎Handlebars
Handlebars模板库简单介绍 Handlebars是JavaScript一个语义模板库,通过对view(模板)和data(ajax请求的数据,一般是json)的分离来快速构建Web模板.它采用& ...
- ef.core Mysql
Entity层 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; ...