Update pg sql

This commit is contained in:
sunkaixuan 2023-05-07 22:18:16 +08:00
parent 2862cb83b2
commit bc7e823e93
2 changed files with 25 additions and 0 deletions

View File

@ -54,7 +54,15 @@ namespace OrmTest
var result5 = db.Updateable(updateObj).WhereColumns(it => new { it.Id }).ExecuteCommand();//update single by id var result5 = db.Updateable(updateObj).WhereColumns(it => new { it.Id }).ExecuteCommand();//update single by id
var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List<Class> by id var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List<Class> by id
var result67 =
db.Updateable(updateObjs)
.PublicSetColumns(it => it.Price, it => it.Price + 1)
.ExecuteCommand();
var result68 =
db.Updateable(updateObjs.First())
.PublicSetColumns(it => it.Price, it => it.Price + 1)
.ExecuteCommand();
/*** 2.by expression ***/ /*** 2.by expression ***/

View File

@ -198,8 +198,25 @@ namespace SqlSugar
batchUpdateSql.Replace("${0}", format); batchUpdateSql.Replace("${0}", format);
batchUpdateSql.Append(";"); batchUpdateSql.Append(";");
} }
batchUpdateSql = GetBatchUpdateSql(batchUpdateSql);
return batchUpdateSql.ToString(); return batchUpdateSql.ToString();
} }
private StringBuilder GetBatchUpdateSql(StringBuilder batchUpdateSql)
{
if (ReSetValueBySqlExpListType == null && ReSetValueBySqlExpList != null)
{
var result = batchUpdateSql.ToString();
foreach (var item in ReSetValueBySqlExpList)
{
var dbColumnName = item.Value.DbColumnName;
result = result.Replace($"{dbColumnName}=T.{dbColumnName}", $"{dbColumnName}={item.Value.Sql.Replace(dbColumnName,$"{Builder.GetTranslationColumnName( this.TableName)}.{dbColumnName}")}");
batchUpdateSql = new StringBuilder(result);
}
}
return batchUpdateSql;
}
protected override string GetJoinUpdate(string columnsString, ref string whereString) protected override string GetJoinUpdate(string columnsString, ref string whereString)
{ {
var formString = $" {Builder.GetTranslationColumnName(this.TableName)} AS {Builder.GetTranslationColumnName(this.ShortName)} "; var formString = $" {Builder.GetTranslationColumnName(this.TableName)} AS {Builder.GetTranslationColumnName(this.ShortName)} ";