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