分享一个基于EF5.0封装的BaseDAL
public class BaseDAL<T> where T : class,new()
{
protected DbContext dbContext = DbContextFactory.GetCurrentDbContext(); protected DbSet<T> dbSet
{
get
{
return dbContext.Set<T>();
}
} protected bool SaveChanges()
{
return dbContext.SaveChanges() > ;
} protected T Add(T entity)
{
entity = dbSet.Attach(entity);
dbContext.Entry<T>(entity).State = EntityState.Added;//dbSet.Add(entity);
return entity;
} protected void Delete(T entity)
{
dbContext.Entry<T>(entity).State = EntityState.Deleted;
} protected void Update(T entity)
{
dbContext.Entry<T>(entity).State = EntityState.Modified;
} protected T Select(Func<T, bool> whereLambda)
{
return dbSet.Where<T>(whereLambda).FirstOrDefault();
} protected List<T> SelectList(Func<T, bool> whereLambda)
{
return dbSet.Where<T>(whereLambda).ToList();
} protected List<T> SelectPageList<s>(int pageIndex, int pageSize, out int totalCount, Func<T, bool> whereLambda, Func<T, s> orderLambda, bool isAsc)
{
IEnumerable<T> enumerableList = dbSet.Where<T>(whereLambda);
totalCount = enumerableList.Count();
if (isAsc)
{
enumerableList = dbSet.Where<T>(whereLambda).OrderBy<T, s>(orderLambda).Skip<T>(pageSize * (pageIndex - )).Take<T>(pageSize);
}
else
{
enumerableList = dbSet.Where<T>(whereLambda).OrderByDescending<T, s>(orderLambda).Skip<T>(pageSize * (pageIndex - )).Take<T>(pageSize);
}
return enumerableList.ToList();
}
}
BaseDAL
public class DbContextFactory
{
public static DbContext GetCurrentDbContext()
{
DbContext dbContext = (DbContext)CallContext.GetData("dbContext");
if (dbContext == null)
{
dbContext = new jxcContext();
CallContext.SetData("dbContext", dbContext);
}
return dbContext;
}
}
DbContextFactory
分享一个基于EF5.0封装的BaseDAL的更多相关文章
- 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台
1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...
- [UWP]分享一个基于HSV色轮的调色板应用
1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...
- 【EXCEL终极总结分享】基于NPOI扩展封装的简易操作工具类库(简单灵活易用,支持导出、导入、上传等常见操作)
对于EXCEL的导入.导出,我之前已分享过多次,比如: 第一种方案:<我写的一个ExcelHelper通用类,可用于读取或生成数据>这个主要是利用把EXCEL当成一个DB来进行获取数据,导 ...
- 分享一个基于 netty 的 java 开源项目
1.简介 中微子代理(neutrino-proxy)是一个基于 netty 的.开源的 java 内网穿透项目.遵循 MIT 许可,因此您可以对它进行复制.修改.传播并用于任何个人或商业行为. 2.项 ...
- 福利到~分享一个基于jquery的智能提示控件intellSeach.js
一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户 ...
- 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室
实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询.长连接+长轮询.基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSoc ...
- 分享一个基于HTML5实现的视频播放器
什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放,只能放弃.最终决定还是自己封装 ...
- 分享一个基于HTML5实现的视频播放器【转】
什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放,只能放弃.最终决定还是自己封装 ...
- 分享一个基于thrift的java-rpc框架
简单介绍 这是一个简单小巧的Java RPC框架,适用于Java平台内.为系统之间的交互提供了.高性能.低延迟的方案.适合在集群数量偏少的情况下使用(50台以下集群环境).当然.它也可以在大型集群环境 ...
随机推荐
- ADO.NET 拾遗
一.SqlDataReader和SqlDataAdapter性能对比 Stopwatch sw = new Stopwatch(); sw.Start(); using(SqlConnection c ...
- javascript中的事件学习总结
一.实例: 一段用js实现的固定边栏滚动特效代码(跨浏览器使用): 二.总结: 由于事件处理在不同浏览器之间存在差异(主要是要考虑ie8及以下浏览器的兼容性),所以在使用处理事件的方法之前,先要判断当 ...
- 调用Newtonsoft.Json 报FileNotFoundException 错误
具体如下: Exception StackTrace at Newtonsoft.Json.Converters.BinaryConverter.CanConvert(Type objectType) ...
- python之pexpect模块
最近在看<Python自动化运维技术与最佳实战>这本书,学到了一个运维中用到的模块:pexpect 下面是其定义: Pexpect 是一个用来启动子程序并对其进行自动控制的 Python ...
- Install and configure Intel NIC teaming on R420
OS env: windows2008 R2 std 1. Download NIC driver from Dell Website http://www.dell.com/support/home ...
- erlang和go之间桥接库相关
https://github.com/goerlang
- usaco 2010年3月银组题解
usaco银组解题报告 一.石子游戏如果把‘O’当作0,‘X’当做1,则N个洞的每一种状态都可以看做是一个N位二进制数.于是,这个问题就变成了求环绕的N位格雷码.幸运的是,这个结构很容易就能够用一个简 ...
- JSP里的c:url中的/代表站点根目录还是WEB根目录?(待解答)
<c:url/>使用格式: <c:url var="<string>" scope="<string>" value= ...
- css3旋转小三角
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- IOS 日志输出控制
用以下内容可以控制在debug版本中打印日志,而在release版本中不打印 #ifdef DEBUG# define DBLog(format,...) NSLog((@"[%s][%s] ...