BaseDAL数据层基类1
/// <summary>
/// EF数据库操作基类
/// </summary>
/// <typeparam name="T"></typeparam>
public partial class BaseDAL<T> where T : class, new()
{
private DbContext dbContext = DbContextFactory.Create(); #region 1.Add
/// <summary>
/// 增加一条数据
/// </summary>
/// <param name="t"></param>
public void Add(T t)
{
dbContext.Set<T>().Add(t);
} /// <summary>
/// 同时增加多条数据到一张表(事务处理)
/// </summary>
/// <param name="entitys"></param>
/// <returns></returns>
public bool AddEntity(List<T> entitys)
{
foreach (var entity in entitys)
{
dbContext.Entry<T>(entity).State = EntityState.Added;
}
// entitys.ForEach(c=>db.Entry<T>(c).State = EntityState.Added);//等价于上面的循环
return dbContext.SaveChanges() > ;
}
#endregion /// <summary>
/// 删除一条数据
/// </summary>
/// <param name="t"></param>
public void Delete(T t)
{
dbContext.Set<T>().Remove(t);
} /// <summary>
/// 修改一条数据
/// </summary>
/// <param name="t"></param>
public void Update(T t)
{
dbContext.Set<T>().AddOrUpdate(t);
} /// <summary>
/// 获取一条数据
/// </summary>
/// <param name="whereLambda"></param>
/// <returns></returns>
public IQueryable<T> GetModels(Expression<Func<T, bool>> whereLambda)
{
return dbContext.Set<T>().Where(whereLambda);
} /// <summary>
/// 获取分页数据
/// </summary>
/// <typeparam name="type">类型</typeparam>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
/// <param name="isAsc"></param>
/// <param name="OrderByLambda"></param>
/// <param name="WhereLambda"></param>
/// <returns></returns>
public IQueryable<T> GetModelsByPage<type>(int pageSize, int pageIndex, bool isAsc,
Expression<Func<T, type>> OrderByLambda, Expression<Func<T, bool>> WhereLambda)
{
//是否升序
if (isAsc)
{
return dbContext.Set<T>().Where(WhereLambda).OrderBy(OrderByLambda).Skip((pageIndex - ) * pageSize).Take(pageSize);
}
else
{
return dbContext.Set<T>().Where(WhereLambda).OrderByDescending(OrderByLambda).Skip((pageIndex - ) * pageSize).Take(pageSize);
}
} /// <summary>
/// 统一保存
/// </summary>
/// <returns></returns>
public bool SaveChanges()
{
return dbContext.SaveChanges() > ;
}
BaseDAL数据层基类1的更多相关文章
- BaseDAL最牛数据层基类2
using System; using System.Data.Entity; using System.Linq; using System.Threading.Tasks; using Syste ...
- Hibernate 数据层基类实现
提取经常操作表如新增.修改.删除.查询.分页查询.统计等业务功能,形成基类,用泛型传参,有利于每个实体对象数据层继承. package com.base.dao; import java.io.Ser ...
- 使用SqlSugar封装的数据层基类
首先简单封装了个DbContext public class DbContext { #region 属性字段 private static string _connectionString; /// ...
- C# 基于MySQL的数据层基类(MySQLHelper)
这里介绍下比较简单的方式,引用MySql.Data.dll然后添加一个MySqlHelper类来对MySql数据库进行访问和操作. 1.将MySql.Data.dll引用到你的项目中 下载地址:MyS ...
- BIM工程信息管理系统-EF实体框架数据操作基类
EF实体框架数据操作基类主要是规范增.改.查.分页.Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一. 1.程序代码 /// & ...
- 四、spring集成ibatis进行项目中dao层基类封装
Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...
- mysql批量插入数据的基类
自己设计的一个mysql数据库批量添加数据的基类.用于批量向mysql数据库添加数据,子类实现起来很简单,自测性能也还不错. 1.基类实现-BatchAddBase using System.Coll ...
- 基于SqlSugar的开发框架循序渐进介绍(4)-- 在数据访问基类中对GUID主键进行自动赋值处理
我们在设计数据库表的时候,往往为了方便,主键ID一般采用字符串类型或者GUID类型,这样对于数据库表记录的迁移非常方便,而且有时候可以在处理关联记录的时候,提前对应的ID值.但有时候进行数据记录插入的 ...
- EF实体框架数据操作基类(转)
//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司 ...
随机推荐
- 科学经得起实践检验-python3.6通过决策树实战精准准确预测今日大盘走势(含代码)
科学经得起实践检验-python3.6通过决策树实战精准准确预测今日大盘走势(含代码) 春有百花秋有月,夏有凉风冬有雪: 若无闲事挂心头,便是人间好时节. --宋.无门慧开 不废话了,以下训练模型数据 ...
- 机器学习实战(一)k-近邻算法
转载请注明源出处:http://www.cnblogs.com/lighten/p/7593656.html 1.原理 本章介绍机器学习实战的第一个算法——k近邻算法(k Nearest Neighb ...
- Java之集合(二十三)SynchronousQueue
转载请注明源出处:http://www.cnblogs.com/lighten/p/7515729.html 1.前言 本章介绍阻塞队列SynchronousQueue.之前介绍过LinkedTran ...
- Java之集合(十四)Hashtable
转载请注明源出处:http://www.cnblogs.com/lighten/p/7426522.html 1.前言 HashTable这个类很奇特,其继承了Dictionary这个没有任何具体实现 ...
- 过虑器应用之1-设置request编码
一:设置Post编码 post请求接收中文,需要在Servlet里写上 request.setCharacterEncoding("UTF-8"); 否则默认以iso-8859-1 ...
- 端口被占用怎么办?如何查看win7电脑端口是否被占用
Windows7操作系统的酷炫和强大已经深受用户们的喜欢了,这里根大家分享的是教你查看win7电脑端口是否被占用的技巧,端口是我们在进行远程或者打印机等都会遇到的,但是有很多用户会遇到端口被占用的情况 ...
- Android 开发工具类 28_sendGETRequest
以 GET 方式上传数据,小于 2K,且安全性要求不高的情况下. package com.wangjialin.internet.userInformation.service; import jav ...
- 安装以及构建SSIS
SSIS使用教程可以参照微软官网实例:https://msdn.microsoft.com/zh-cn/library/ms169917(v=sql.105).aspx 1.安装visual stud ...
- PL/SQL程序设计
1 PL/SQL简介 1 什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写.PL/SQL是对SQL语言 ...
- springboot-19-整合dubbox
springboot 整合dubbox 1, 没了,,, 2, 安装zookeeper 可见: http://www.cnblogs.com/wenbronk/p/6636926.html 2.1 下 ...