コード例 #1
0
        /// <summary>
        /// Update的对象,必须通过Single()获取重置属性后操作!传入实体修改,根据传入的实体主健修改,如果是new出来的实体,则要把Single()的对象赋给他才可更新
        /// </summary>
        /// <returns>返回,成功:true,失败:false</returns>
        public bool Update()
        {
            bool result = false;
            T    entity = Clone() as T;

            if (entity != null)
            {
                try
                {
                    using (BaseEntityDbContext <T> db = new BaseEntityDbContext <T>())
                    {
                        DbEntityEntry entry = db.Entry(entity);
                        //if (entry.State == EntityState.Detached)
                        //{
                        entry.State = EntityState.Modified;//通过更改 状态为EntityState.Modified 然后再保存 来实现更新操作
                        //}
                        if (db.SaveChanges() > 0)
                        {
                            result = true;
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error("更新表数据失败", ex);
                }
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 删除对象,lamda表达式删除
        /// </summary>
        /// <param name="predicate">Linq表达式</param>
        /// <returns>返回,成功:true,失败:false</returns>
        public bool Delete(Expression <Func <T, bool> > predicate)
        {
            bool result = false;
            T    entity = new T();

            if (predicate != null)
            {
                try
                {
                    using (BaseEntityDbContext <T> db = new BaseEntityDbContext <T>())
                    {
                        entity = db.BaseDbSet.FirstOrDefault(predicate);
                        if (entity != null)
                        {
                            db.Entry(entity).State = EntityState.Deleted;
                            if (db.SaveChanges() > 0)
                            {
                                result = true;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error("删除表数据失败", ex);
                }
            }
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// Delete,根据实体对象删除
        /// </summary>
        /// <returns>返回,成功:true,失败:false</returns>
        public bool Delete()
        {
            bool result = false;
            T    entity = Clone() as T;

            if (entity != null)
            {
                try
                {
                    using (BaseEntityDbContext <T> db = new BaseEntityDbContext <T>())
                    {
                        db.Entry(entity).State = EntityState.Deleted;
                        if (db.SaveChanges() > 0)
                        {
                            result = true;
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error("删除表数据失败", ex);
                }
            }
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// Update的对象,必须通过Single()获取重置属性后操作!传入实体修改,根据传入的实体主健修改,如果是new出来的实体,则要把Single()的对象赋给他才可更新
        /// </summary>
        /// <returns>返回影响的行数</returns>
        public int Edit()
        {
            int result = 0;
            T   entity = Clone() as T;

            if (entity != null)
            {
                try
                {
                    using (BaseEntityDbContext <T> db = new BaseEntityDbContext <T>())
                    {
                        DbEntityEntry entry = db.Entry(entity);
                        //if (entry.State == EntityState.Detached)
                        //{
                        entry.State = EntityState.Modified;
                        //}
                        result = db.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    log.Error("更新表数据失败", ex);
                }
            }
            return(result);
        }
コード例 #5
0
ファイル: Abc.cs プロジェクト: chenmsg/sujin
        /// <summary>
        /// 配合前台ajax_form_submit.js文件的提交方式,封装成简易版添加,更改方法
        /// </summary>
        /// <param name="rval">表单集合字符串</param>
        /// <returns></returns>
        public static string AjaxEdit(string rval)
        {
            string result = "操作有误";
            int    id     = Util.StringToInt(rval.GetFromValue("id"), 0);

            try
            {
                using (BaseEntityDbContext <Abc> db = new BaseEntityDbContext <Abc>())
                {
                    Abc entity = new Abc();
                    if (id == 0)//添加操作
                    {
                        if (entity != null)
                        {
                            entity = rval.ConvertToModel(entity);//赋值
                            db.BaseDbSet.Add(entity);
                            if (db.SaveChanges() > 0)
                            {
                                result = "保存成功";
                            }
                        }
                    }
                    else if (id > 0)                                           //更新操作
                    {
                        entity = db.BaseDbSet.FirstOrDefault(o => o.id == id); //查询
                        entity = rval.ConvertToModel(entity);                  //赋值
                        DbEntityEntry entry = db.Entry(entity);
                        //if (entry.State == EntityState.Detached)
                        //{
                        entry.State = EntityState.Modified;//通过更改 状态为EntityState.Modified 然后再保存 来实现更新操作
                        //}
                        result = "您没有做任何更改";
                        if (db.SaveChanges() > 0)
                        {
                            result = "保存成功";
                        }
                        else
                        {
                            result = "保存时遇到问题";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result = "操作有误" + ex.Message;
                log.Error("操作有误", ex);
                return(result);
            }
            return(result);
        }
コード例 #6
0
ファイル: Abc.cs プロジェクト: chenmsg/sujin
        /// <summary>
        /// 配合前台ajax_form_submit_json.js文件的提交方式,封装成简易版添加,更改方法
        /// </summary>
        /// <param name="rval">表单集合字符串</param>
        /// <returns></returns>
        public static string AjaxEdit(Abc entity)
        {
            string result = "操作有误";

            try
            {
                if (entity != null)
                {
                    using (BaseEntityDbContext <Abc> db = new BaseEntityDbContext <Abc>())
                    {
                        if (entity.id == 0)                                       //添加操作
                        {
                            db.BaseDbSet.Add(entity);
                            if (db.SaveChanges() > 0)
                            {
                                result = "保存成功";
                            }
                        }
                        else if (entity.id > 0)                                             //更新操作
                        {
                            Abc edit = db.BaseDbSet.FirstOrDefault(o => o.id == entity.id); //查询
                            edit = CustomHelper.ConvertToModel(entity, edit);               //赋值
                            DbEntityEntry entry = db.Entry(edit);
                            //if (entry.State == EntityState.Detached)
                            //{
                            entry.State = EntityState.Modified;//通过更改 状态为EntityState.Modified 然后再保存 来实现更新操作
                            //}
                            result = "您没有做任何更改";
                            if (db.SaveChanges() > 0)
                            {
                                result = "保存成功";
                            }
                            else
                            {
                                result = "保存时遇到问题";
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result = "操作有误" + ex.Message;
                log.Error("操作有误", ex);
                return(result);
            }
            return(result);
        }
コード例 #7
0
 public int Update(BaseEntityDbContext <T> db, T item)
 {
     try
     {
         DbEntityEntry entry = db.Entry(item);
         if (entry.State == EntityState.Detached)
         {
             entry.State = EntityState.Modified;
         }
         return(db.SaveChanges());
     }
     catch (Exception ex)
     {
         log.Error("更新表数据失败", ex);
     }
     return(-1);
 }