/// <summary>
        /// 根据列、条件更新实体
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="lstColumns"></param>
        /// <param name="lstIgnoreColumns"></param>
        /// <param name="strWhere"></param>
        /// <returns></returns>
        public async Task <bool> UpdateAsync <T>(
            T entity,
            List <string> lstColumns       = null,
            List <string> lstIgnoreColumns = null,
            string strWhere = "") where T : class, new()
        {
            IUpdateable <T> up = _db.Updateable(entity);

            if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)
            {
                up = up.IgnoreColumns(lstIgnoreColumns.ToArray());
            }

            if (lstColumns != null && lstColumns.Count > 0)
            {
                up = up.UpdateColumns(lstColumns.ToArray());
            }

            if (!string.IsNullOrEmpty(strWhere))
            {
                up = up.Where(strWhere);
            }

            return(await up.ExecuteCommandHasChangeAsync());
        }
Exemple #2
0
        /// <summary>
        /// 更新某些列
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="lstColumns">列集合</param>
        /// <param name="lstIgnoreColumns">忽略的列集合</param>
        /// <param name="strWhere">筛选条件</param>
        /// <returns></returns>
        public async Task <bool> Update(TEntity entity, List <string> lstColumns = null, List <string> lstIgnoreColumns = null, string strWhere = "")
        {
            //IUpdateable<TEntity> up = await Task.Run(() => m_db.Updateable(entity));
            //if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)
            //{
            //    up = await Task.Run(() => up.IgnoreColumns(it => lstIgnoreColumns.Contains(it)));
            //}
            //if (lstColumns != null && lstColumns.Count > 0)
            //{
            //    up = await Task.Run(() => up.UpdateColumns(it => lstColumns.Contains(it)));
            //}
            //if (!string.IsNullOrEmpty(strWhere))
            //{
            //    up = await Task.Run(() => up.Where(strWhere));
            //}
            //return await Task.Run(() => up.ExecuteCommand()) > 0;

            IUpdateable <TEntity> up = m_db.Updateable(entity);

            if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)
            {
                up = up.IgnoreColumns(lstIgnoreColumns.ToArray());
            }
            if (lstColumns != null && lstColumns.Count > 0)
            {
                up = up.UpdateColumns(lstColumns.ToArray());
            }
            if (!string.IsNullOrEmpty(strWhere))
            {
                up = up.Where(strWhere);
            }
            return(await up.ExecuteCommandHasChangeAsync());
        }
Exemple #3
0
        /// <summary>
        /// 根据条件更新实体信息(异步)
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="lstColumns">实体列</param>
        /// <param name="lstIgnoreColumns">忽略列</param>
        /// <param name="strWhere">条件</param>
        /// <returns></returns>
        public async Task <bool> T_Update(TEntity entity, List <string> lstColumns = null, List <string> lstIgnoreColumns = null, string strWhere = "")
        {
            bool result = false;

            try
            {
                _db.Ado.BeginTran();
                IUpdateable <TEntity> up = _db.Updateable(entity);
                if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)
                {
                    up = up.IgnoreColumns(lstIgnoreColumns.ToArray());
                }
                if (lstColumns != null && lstColumns.Count > 0)
                {
                    up = up.UpdateColumns(lstColumns.ToArray());
                }
                if (!string.IsNullOrEmpty(strWhere))
                {
                    up = up.Where(strWhere);
                }
                result = await up.ExecuteCommandHasChangeAsync();

                _db.Ado.CommitTran();
            }
            catch (Exception)
            {
                _db.Ado.RollbackTran();
            }
            return(result);
        }
        /// <summary>
        /// 更新实体数据
        /// </summary>
        /// <param name="entity">实体类</param>
        /// <param name="lstColumns">排除列集合</param>
        /// <param name="lstIgnoreColumns">更新列集合(放对应的更新列就好)</param>
        /// <param name="strWhere"></param>
        /// <returns></returns>
        public async Task <bool> Update(TEntity entity, List <string> lstColumns = null, List <string> lstIgnoreColumns = null, string strWhere = "")
        {
            IUpdateable <TEntity> up = _db.Updateable(entity);

            //排除某一个列的更新
            if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0)
            {
                up = up.IgnoreColumns(lstIgnoreColumns.ToArray());
            }
            //只更新对应的列
            if (lstColumns != null && lstColumns.Count > 0)
            {
                up = up.UpdateColumns(lstColumns.ToArray());
            }
            if (!string.IsNullOrEmpty(strWhere))
            {
                up = up.Where(strWhere);
            }
            return(await up.ExecuteCommandHasChangeAsync());
        }
Exemple #5
0
        /// <summary>
        /// 根据指定条件更新指定列
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="lstColumns"></param>
        /// <param name="lstIgnoreColumns"></param>
        /// <param name="strWhere"></param>
        /// <returns></returns>
        public async Task <bool> Update(TEntity entity, List <string> lstColumns = null, List <string> lstIgnoreColumns = null, string strWhere = "")
        {
            IUpdateable <TEntity> up = _db.Updateable(entity);

            if (lstColumns?.Any() == true)
            {
                up.UpdateColumns(lstColumns.ToArray());
            }

            if (lstIgnoreColumns?.Any() == true)
            {
                up.IgnoreColumns(lstIgnoreColumns.ToArray());
            }

            if (!string.IsNullOrEmpty(strWhere))
            {
                up.Where(strWhere);
            }

            return(await up.ExecuteCommandHasChangeAsync());
        }
Exemple #6
0
        /// <summary>
        ///     更新
        /// </summary>
        /// <param name="entity">实体</param>
        /// <param name="columns">更新的列</param>
        /// <param name="ignoreColumns">忽略的列</param>
        /// <param name="strWhere">更新条件</param>
        /// <returns></returns>
        public virtual async Task <bool> Update(T entity, List <string> columns = null, List <string> ignoreColumns = null,
                                                string strWhere = "")
        {
            IUpdateable <T> updateable = this.SugarClient.Updateable(entity);

            if (ignoreColumns != null && ignoreColumns.Count > 0)
            {
                updateable = updateable.IgnoreColumns(ignoreColumns.ToArray());
            }

            if (columns != null && columns.Count > 0)
            {
                updateable = updateable.UpdateColumns(columns.ToArray());
            }

            if (!string.IsNullOrEmpty(strWhere))
            {
                updateable = updateable.Where(strWhere);
            }

            return(await updateable.ExecuteCommandHasChangeAsync());
        }