学习笔记39_EF的DAL层(精)

通用的分页查询

public IQueryable<UserInfo> GetPage<T>(int pageSize,int pageIndex,out int total,

Expression<Func<UserInfo,bool>> whereLambda,

Expression<Func<UserInfo,T>> orderByLambda, bool IsAsc)

{

  total = db.UserInfo.where(whereLambda).count();

  var temp = dbContext.UserInfo.where(whereLambda). //u=>u.Name.contains("aaa")

  OrderByDesceding<UserInfo,T>(orderByLambda)//u=>u.Name

  .Skip(pageSize*(pageIndex-1))

  .Take(pageSize).AsQueryable();

}

//baseDal

public class BaseDal<T> where T: class,new()

{

  DataModelContainer db = new DataModelContainer();

  public IQueryable<T> GetEntities(Expression<Func<T,bool>> whereLambda)

  {

    return db.Set<T>().Where(whereLambda).AsQueryable();

  }

  //

  

  public IQueryable<T> GetPage<S>(int pageSize,int pageIndex,out int total,

  Expression<Func<T,bool>> whereLambda,

  Expression<Func<T,S>> orderByLambda, bool IsAsc)

  {

      total = db.Set<T>.where(whereLambda).count();

      var temp = dbContext.UserInfo.where(whereLambda). //u=>u.Name.contains("aaa")

      OrderByDesceding<T,S>(orderByLambda)//u=>u.Name

      .Skip(pageSize*(pageIndex-1))

      .Take(pageSize).AsQueryable();

  }

}

//那么,UserInfoDal

public class UserInfoDal:BaseDal<UserInfo>

{

  

}

时间: 2024-10-27 19:07:46

学习笔记39_EF的DAL层(精)的相关文章

Linux netfilter 学习笔记 之十一 ip层netfilter的NAT模块初始化以及NAT原理

1.NAT的原理 NAT会修改数据包的ip层的源或者目的ip地址.在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能. 1.1 SNAT 源目的地址转换,即对ip数据包的源ip地址进行转换操作,典型的应用即是网关,网关的lan侧会下挂至少两台设备,而这两台设备的ip地址都是lan侧地址,而lan侧设备又要访问公网,这就需要SNAT大展身手了,通过将lan侧发送的ip数据包的源ip地址转换成公网地址即可以访问公网了. 1.2 DNAT 目的地址转换主要是将ip数据包的目的ip地址进行修改

Linux学习笔记:OSI七层模型

OSI七层模型: OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层.每一层都有相关.相对应的物理设备,比如路由器,交换机.OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输.它的最大优点是将服务.接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系

tcp/ip 学习笔记 章二 链路层

一.数据链路层 当需要在一条线路上传递数据时,除了必须使用一条物理设备时,还需要一些必要的通信协议来控制数据的传输,若把实现这些协议的硬件和软件的加到链路上,就叫做数据链路:最常用的是-----网络适配器.一般适配器都包含了数据链路层和物理层这两层的功能. 物理层的包含多种与物理介质相关的协议和标准 物理层协议分类: 电磁与光学协议(电流.光调制.编码) 机械协议(链接介质机械标准,大小.形状.化学成分) 功能性的协议 程序性协议(比如二进制数1,表示的电压) eg:EIA/TIA-232 V.

TCP/IP网络编程 学习笔记_4 --OSI七层网络模型

前言:本节将概括性的总结下网络通信的整体框架,其底层流程. 我们之前了解到了套接字的创建及应用,其实我们只是在用套接字这个工具而已,其底层细节对我们是屏蔽的.要通过因特网完成数据传输,其实不光光是软件就能解决的,还需要构建硬件系统等.因此,为了解决这一难题,许多专家聚集在一起,这些人是硬件,系统,路由算法等各领域的顶级专家.他们把网络通信划分很多模块,通过层次化的结构把大问题分成若干小问题逐个攻破.每个层都有一套定义好的通信标准(协议),数据就是这样通过这个层次结构从上到下,再从下到上传输的.示

Framework7学习笔记之 弹出层(Popover)

一:弹出层 或者说,称呼为"悬浮层"更合适. 用 popover 临时弹出一小块悬浮层显示一些信息,用户点击popover窗口外面区域时会关闭它. 二:定义Popover 弹出层需要在body标签的末尾处定义. <body> ... <div class="popover 弹出层名"> <div class="popover-angle"></div> <div class="pop

16jquery学习笔记-------动画----两种层显示和隐藏slide、fade

1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 4 <title></title> 5 <script src="jquery-1.8.3.js"><

在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务(老罗学习笔记)

一:Eclipse下 1.创建工程: ---- 2.创建后目录 3.添加java函数 4.在src下创建package,在package下创建file 5.res---layout下创建xml文件,命名main 6.project下清楚错误 7.位解决错误 ① ② 8.总体目录 9.当删除工程后,可以import再重新导入工程. 二:源码下 ① 将Hello目录拷贝至packages/experimental目录,新增Android.mk文件:    [email protected]:~/An

《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内容主要都是介绍如何在屏幕上显示图像,事实上除了图像之外,音乐的播放也可以被理解为一种显示的方式,本节将学习在Cocos2d-x中播放声音的方法. (1)在HelloWorld.h中对HelloWorld类进行如下定义: class HelloWorld : public Cocos2d::Layer { pu

Linux netfilter 学习笔记 之十二 ip层netfilter的NAT模块代码分析

本节主要是分析NAT模块相关的hook函数与target函数,主要是理清NAT模块实现的原理等. 1.NAT相关的hook函数分析 NAT模块主要是在NF_IP_PREROUTING.NF_IP_POSTROUTING.NF_IP_LOCAL_OUT.NF_IP_LOCAL_IN四个节点上进行NAT操作,在上一节中我们知道nat表中只有PREROUTING.POSTROUTING.LOCAL_OUT三条链,而没有NF_IP_LOCAL_IN链,所以不能创建在LOCAL_IN hook点的SNAT