示例一:

private DbContext _dbContext;
public DbContext CurrentContext
{
get
{
if (_dbContext == null)
{
_dbContext = new TransitContext();
}
return _dbContext;
}
} /// <summary>
/// 执行Sql查询
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <param name="strSql"></param>
/// <param name="paramObjects"></param>
/// <returns></returns>
public List<TEntity> SqlQuery<TEntity>(string strSql, params Object[] paramObjects) where TEntity : class
{
if (paramObjects == null)
{
paramObjects = new object[0];
}
return this.CurrentContext.Database.SqlQuery<TEntity>(strSql, paramObjects).ToList();
} /// <summary>
/// 查询
/// </summary>
/// <param name="predicate"></param>
/// <returns></returns>
public IQueryable<TEntity> Search<TEntity>(Expression<Func<TEntity, bool>> predicate) where TEntity : class
{
return CurrentContext.Set<TEntity>().Where(predicate);
} /// <summary>
/// 查询全部
/// </summary>
/// <returns></returns>
public IQueryable<TEntity> FindAll<TEntity>() where TEntity : class
{
return CurrentContext.Set<TEntity>();
} /// <summary>
/// 插入
/// </summary>
/// <param name="entity"></param>
/// <param name="isSave"></param>
public void Insert<TEntity>(TEntity entity, bool isSave = true) where TEntity : class
{
CurrentContext.Set<TEntity>().Add(entity);
if (isSave)
{
CurrentContext.SaveChanges();
}
} /// <summary>
/// 批量插入
/// </summary>
/// <param name="entitys"></param>
/// <param name="isSave"></param>
public void Insert<TEntity>(List<TEntity> entitys, bool isSave = true) where TEntity : class
{
foreach (var entity in entitys)
{
CurrentContext.Set<TEntity>().Add(entity);
}
if (isSave)
{
CurrentContext.SaveChanges();
}
} /// <summary>
/// 更新
/// </summary>
/// <param name="entity"></param>
/// <param name="isSave"></param>
public void Update<TEntity>(TEntity entity, bool isSave = true) where TEntity : class
{
var local = FindLocal(CurrentContext, entity);
if (local == null)
{
throw new Exception("要更新的实体不存在");
}
ObjectMapper.CopyProperties(entity, local);
if (isSave)
{
CurrentContext.SaveChanges();
}
} /// <summary>
/// 批量更新
/// </summary>
/// <param name="entities"></param>
/// <param name="isSave"></param>
public void Update<TEntity>(List<TEntity> entities, bool isSave = true) where TEntity : class
{
foreach (var entity in entities)
{
var local = FindLocal(CurrentContext, entity);
if (local == null)
{
throw new Exception("要更新的实体不存在");
}
ObjectMapper.CopyProperties(entity, local);
}
if (isSave)
{
CurrentContext.SaveChanges();
}
} /// <summary>
/// 删除
/// </summary>
/// <param name="entity"></param>
/// <param name="isSave"></param>
public void Delete<TEntity>(TEntity entity, bool isSave = true) where TEntity : class
{
var local = FindLocal(CurrentContext, entity);
if (local == null)
{
throw new Exception("要删除的实体不存在");
}
CurrentContext.Entry<TEntity>(local).State = EntityState.Deleted;
if (isSave)
{
CurrentContext.SaveChanges();
}
}

  

示例二:

EF6 简单增删改查示例代码的更多相关文章

  1. SpringMVC之简单的增删改查示例(SSM整合)

    本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...

  2. springboot(十五):springboot+jpa+thymeleaf增删改查示例

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  3. (转)Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例

    http://www.ityouknow.com/springboot/2017/09/23/spring-boot-jpa-thymeleaf-curd.html 这篇文章介绍如何使用 Jpa 和 ...

  4. Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例

    这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个 Demo 来试试它的效果,越 ...

  5. ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...

  6. Spring Boot + Jpa + Thymeleaf 增删改查示例

    快速上手 配置文件 pom 包配置 pom 包里面添加 Jpa 和 Thymeleaf 的相关包引用 <dependency> <groupId>org.springframe ...

  7. Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例

    Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例 一.快速上手 1,配置文件 (1)pom包配置 pom包里面添加jpa和thymeleaf的相关包引用 ...

  8. spring boot(十五)spring boot+thymeleaf+jpa增删改查示例

    快速上手 配置文件 pom包配置 pom包里面添加jpa和thymeleaf的相关包引用 <dependency> <groupId>org.springframework.b ...

  9. 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

    专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...

随机推荐

  1. centos6.7环境半虚拟化软件xen及xm配置工具使用详解

    1.xen软件的安装及配置 环境准备: ①操作系统:centos6.7(注意最好使用centos6.7,centos6.5无法使用xen的图形化界面创建操作系统) ②调整虚拟机配置,内存4G(推荐2G ...

  2. 04-Bootstrap的插件

    1.下拉菜单 代码如下: <div class="dropdown"> <button class="btn btn-default dropdown- ...

  3. 基于react/vue的移动端终极适配方案vw单位(更新css-modules配置)

    传送门:  https://segmentfault.com/a/1190000014185590

  4. PreparedStatement setDate setTimestamp ,util.date sql.date区别

    如果数据库中是时分秒,那么切记,用setTimestamp 而不是 setDate(仅仅精确是天,不含时分秒)

  5. python----面向对象(2)

    反射 class ClassA: name = 'xiaoming' def __init__(self): self.y = 'y' #先执行 __setattr__ 在执行__getattribu ...

  6. 安装httpd过程,将网站部署到httpd过程

    1,配置DNSvi /etc/resolv.conf 加入以下代码 nameserver 192.168.0.1 nameserver 8.8.8.8 nameserver 8.8.4.4 2.输入y ...

  7. PowerDesigner表创建脚本双引号问题

    在使用PowerDesigner表属性的Preview查看创建脚本的时候,发现大多表名和字段名都加上了双引号,而且有引号的都是大小写混合的,导致创建的表里,表名和字段名也都是大小写混合的. 在一番搜索 ...

  8. Kubernetes图形化归纳总结基础介绍整理

    今天了解了下k8s,看了很多资料,自己归纳总结下,如果需要测试集群的话需要准备三台Linux服务器,一台做Master,其余两台作为Node仆从(MINION)节点, 先说下Node节点,就是宿主机器 ...

  9. SpringBank 开发日志 重新设计Action调用Service的参数传递 使用泛型解决类型转换问题

    之前想的比较简单,请求到达controller的时候,传给action的参数没有经过任何封装,就是一个Map.然后action再调用service的时候,传递的参数也是map @Controller ...

  10. Delphi数据库数据用文件流方式快速写入Excel文件

    在开发数据库应用程序中,经常要将类型相同的数据导出来,放到Excel文件中,利用Excel强大的编辑功能,对数据作进一步的加工处理.这有许多的方法,我们可以使用OLE技术,在Delphi中创建一个自动 ...