EF6 增删改查

 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
EF(Entity Framework)是.NET Framework中的一种ORM(Object Relational Mapping)框架,可以用来简化数据库操作。下面是使用EF Web API进行增删改查的示例代码: 1. 增加数据: ```csharp [HttpPost] public async Task<IActionResult> AddData([FromBody] Data data) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _context.Data.Add(data); await _context.SaveChangesAsync(); return CreatedAtAction(nameof(GetData), new { id = data.Id }, data); } ``` 2. 删除数据: ```csharp [HttpDelete("{id}")] public async Task<IActionResult> DeleteData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } _context.Data.Remove(data); await _context.SaveChangesAsync(); return NoContent(); } ``` 3. 修改数据: ```csharp [HttpPut("{id}")] public async Task<IActionResult> UpdateData(int id, [FromBody] Data data) { if (id != data.Id) { return BadRequest(); } _context.Entry(data).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!_context.Data.Any(e => e.Id == id)) { return NotFound(); } else { throw; } } return NoContent(); } ``` 4. 查询数据: ```csharp [HttpGet("{id}")] public async Task<ActionResult<Data>> GetData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } return data; } ``` 以上是EF Web API进行增删改查的示例代码,需要注意的是,这只是示例代码,具体实现还需要根据具体的业务逻辑进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值