EF下lambda与linq查询&&扩展方法
2015-12-04 13:06
507 查看
1. linq查询数据
WebTestDBEntities db = new WebTestDBEntities();
1.1 linq查询所有列数据
var userInfoList = from u in db.UserInfo where u.ID == 10 select u;
1.2 linq查询部分列数据
var userInfoList = from u in db.UserInfo where u.ID >= 1 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 > 0); foreach (var userInfo in userInfoList) { Response.Write(userInfo.UserName + ":" + userInfo.UserPass + "<br/>"); }
2.2 lambda查询部分列数据
var userInfoList = db.UserInfo.Where<UserInfo>(u => u.ID > 0).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 = 2; int pageSize = 2; var userInfoList = db.UserInfo.Where<UserInfo>(c => true).OrderBy<UserInfo, int>(u => u.ID).Skip<UserInfo>((pageIndex - 1) * 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&linq&lambda&扩展方法.zip
相关文章推荐
- 线程上下文切换的性能损耗测试
- 比亚迪4S店疑旧车翻新 保险杠有老漆
- 深度优先搜索 之 CODE[VS] 1116 四色问题
- 百度地图API-自定义Lushu
- Android 多态知识使用实例(一)
- 我国已有1.39亿司机领取10年有效驾照
- MyEclipse10采用links安装插件的方法
- CentOS6.6下安装VMware Tools
- Tsinsen-1487:分配游戏【树状数组】
- 【C语言】 动态开辟二维数组
- HDU5475(线段树)
- Android4.0-Fragment框架实现方式剖析(一)
- 关于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法
- UVa 10651 Pebble Solitaire(状压DP)
- 【转】Android Studio Essential Training
- random类的使用
- 数据结构基础知识之结构体
- iOS-UIKit( UIVisualEffectView.h - -解读)
- matalb神经网络工具箱函数--不能编译
- 选城市还是越野 国产自由光对比昂科威