EF6 增删改查
来源:互联网 发布:java序列化常用的地方 编辑:程序博客网 时间:2024/06/08 11:31
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(); } }
0 0
- EF6 增删改查
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查
- hibernate增删查改
- XML 增删查改
- ldap 增删改查
- mysql增删改查
- 动态增删改查
- jdom增删改查
- 集合增删查改
- XML 增删改查
- xml增删改查
- lucene增删改查
- 增删改查
- ldap增删改查
- MySQLz增删改查
- 生成增删改查
- Mybatis 增删改查
- 表格增删查改
- 编写程序实现对给定的4 个整数从大到小的顺序排列
- 利用java的反射机制模拟hibernate
- 数据结构实验之链表一:顺序建立链表
- 编写程序求一元二次方程的根
- 从今开始,我要开始写博客啦
- EF6 增删改查
- 分段函数1
- 安卓实现拍照、在手机中选择图片通过webservice上传图片到服务器
- 输入一个字符,判断它是否为小写字母
- CSDN爬虫(二)——博客列表分页爬虫+数据表设计
- 第一行代码,第三次读后笔记,全书的目录摘要。
- 从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数
- Ubuntu安装优麒麟软件商店
- 对输入的一个整数,按相反顺序输出该数