文章出處

示例一:

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();  
           }  
       }  

  

 

示例二:

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()