mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
Synchronization code
This commit is contained in:
@@ -293,6 +293,8 @@ namespace SqlSugar
|
||||
column.CreateTableFieldSort = sugarColumn.CreateTableFieldSort;
|
||||
column.InsertServerTime = sugarColumn.InsertServerTime;
|
||||
column.InsertSql = sugarColumn.InsertSql;
|
||||
column.UpdateServerTime= sugarColumn.UpdateServerTime;
|
||||
column.UpdateSql= sugarColumn.UpdateSql;
|
||||
if (sugarColumn.IsJson && String.IsNullOrEmpty(sugarColumn.ColumnDataType))
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.DbType == DbType.PostgreSQL)
|
||||
|
@@ -255,7 +255,7 @@ namespace SqlSugar
|
||||
return setValue.First().Value;
|
||||
}
|
||||
}
|
||||
var result = Builder.GetTranslationColumnName(it.DbColumnName) + "=" + this.Context.Ado.SqlParameterKeyWord + it.DbColumnName;
|
||||
var result = Builder.GetTranslationColumnName(it.DbColumnName) + "=" + GetDbColumn(it,this.Context.Ado.SqlParameterKeyWord + it.DbColumnName);
|
||||
return result;
|
||||
}));
|
||||
string whereString = null;
|
||||
@@ -386,5 +386,36 @@ namespace SqlSugar
|
||||
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
|
||||
public virtual string GetDbColumn(DbColumnInfo columnInfo, object name)
|
||||
{
|
||||
if (columnInfo.UpdateServerTime)
|
||||
{
|
||||
return LambdaExpressions.DbMehtods.GetDate();
|
||||
}
|
||||
else if (columnInfo.UpdateSql.HasValue())
|
||||
{
|
||||
return columnInfo.UpdateSql;
|
||||
}
|
||||
else
|
||||
{
|
||||
return name + "";
|
||||
}
|
||||
}
|
||||
public virtual string GetDbColumn(DbColumnInfo columnInfo, string name)
|
||||
{
|
||||
if (columnInfo.UpdateServerTime)
|
||||
{
|
||||
return LambdaExpressions.DbMehtods.GetDate();
|
||||
}
|
||||
else if (columnInfo.UpdateSql.HasValue())
|
||||
{
|
||||
return columnInfo.UpdateSql;
|
||||
}
|
||||
else
|
||||
{
|
||||
return name + "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -206,7 +206,9 @@ namespace SqlSugar
|
||||
PropertyName = column.PropertyName,
|
||||
PropertyType = UtilMethods.GetUnderType(column.PropertyInfo),
|
||||
SqlParameterDbType = column.SqlParameterDbType,
|
||||
TableId = i
|
||||
TableId = i,
|
||||
UpdateSql=column.UpdateSql,
|
||||
UpdateServerTime= column.UpdateServerTime
|
||||
};
|
||||
if (columnInfo.PropertyType.IsEnum() && columnInfo.Value != null)
|
||||
{
|
||||
|
@@ -447,7 +447,7 @@ namespace SqlSugar
|
||||
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(SqlBuilder.GetTranslationColumnName(key), value));
|
||||
}
|
||||
}
|
||||
this.UpdateBuilder.DbColumnInfoList = UpdateBuilder.DbColumnInfoList.Where(it => (UpdateParameterIsNull == false && IsPrimaryKey(it)) || UpdateBuilder.SetValues.Any(v => SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase) || SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase)) || it.IsPrimarykey == true).ToList();
|
||||
this.UpdateBuilder.DbColumnInfoList = UpdateBuilder.DbColumnInfoList.Where(it =>it.UpdateServerTime==true||it.UpdateSql.HasValue()|| (UpdateParameterIsNull == false && IsPrimaryKey(it)) || UpdateBuilder.SetValues.Any(v => SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase) || SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase)) || it.IsPrimarykey == true).ToList();
|
||||
CheckTranscodeing(false);
|
||||
AppendSets();
|
||||
return this;
|
||||
@@ -491,7 +491,22 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
this.UpdateBuilder.DbColumnInfoList = UpdateBuilder.DbColumnInfoList.Where(it => (UpdateParameterIsNull == false && IsPrimaryKey(it)) || UpdateBuilder.SetValues.Any(v => SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase) || SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase)) || it.IsPrimarykey == true).ToList();
|
||||
if (this.EntityInfo.Columns.Any(it => it.InsertServerTime || it.UpdateSql.HasValue()))
|
||||
{
|
||||
var appendColumns = this.EntityInfo.Columns.Where(it => it.InsertServerTime || it.UpdateSql.HasValue());
|
||||
foreach (var item in appendColumns)
|
||||
{
|
||||
if (item.UpdateServerTime)
|
||||
{
|
||||
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(SqlBuilder.GetTranslationColumnName(item.DbColumnName), SqlBuilder.GetTranslationColumnName(item.DbColumnName) + "=" + UpdateBuilder.LambdaExpressions.DbMehtods.GetDate()));
|
||||
}
|
||||
else if (item.UpdateSql.HasValue())
|
||||
{
|
||||
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(SqlBuilder.GetTranslationColumnName(item.DbColumnName), SqlBuilder.GetTranslationColumnName(item.DbColumnName) + "=" + item.UpdateSql));
|
||||
}
|
||||
}
|
||||
}
|
||||
this.UpdateBuilder.DbColumnInfoList = UpdateBuilder.DbColumnInfoList.Where(it =>it.UpdateServerTime||it.UpdateSql.HasValue()|| (UpdateParameterIsNull == false && IsPrimaryKey(it)) || UpdateBuilder.SetValues.Any(v => SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase) || SqlBuilder.GetNoTranslationColumnName(v.Key).Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase)) || it.IsPrimarykey == true).ToList();
|
||||
CheckTranscodeing(false);
|
||||
AppendSets();
|
||||
return this;
|
||||
|
@@ -28,6 +28,8 @@ namespace SqlSugar
|
||||
public int CreateTableFieldSort { get; set; }
|
||||
public bool InsertServerTime { get; set; }
|
||||
public string InsertSql { get; set; }
|
||||
public bool UpdateServerTime { get; set; }
|
||||
public string UpdateSql { get; set; }
|
||||
internal object SqlParameterDbType { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -43,5 +43,7 @@ namespace SqlSugar
|
||||
public object SqlParameterSize { get; set; }
|
||||
public string InsertSql { get; set; }
|
||||
public bool InsertServerTime { get; set; }
|
||||
public bool UpdateServerTime { get; set; }
|
||||
public string UpdateSql { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -209,6 +209,8 @@ namespace SqlSugar
|
||||
public int CreateTableFieldSort { get; set; }
|
||||
public bool InsertServerTime { get; set; }
|
||||
public string InsertSql { get; set; }
|
||||
public bool UpdateServerTime { get; set; }
|
||||
public string UpdateSql { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user