mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-05 03:17:41 +08:00
Synchronization code
This commit is contained in:
@@ -293,6 +293,8 @@ namespace SqlSugar
|
|||||||
column.CreateTableFieldSort = sugarColumn.CreateTableFieldSort;
|
column.CreateTableFieldSort = sugarColumn.CreateTableFieldSort;
|
||||||
column.InsertServerTime = sugarColumn.InsertServerTime;
|
column.InsertServerTime = sugarColumn.InsertServerTime;
|
||||||
column.InsertSql = sugarColumn.InsertSql;
|
column.InsertSql = sugarColumn.InsertSql;
|
||||||
|
column.UpdateServerTime= sugarColumn.UpdateServerTime;
|
||||||
|
column.UpdateSql= sugarColumn.UpdateSql;
|
||||||
if (sugarColumn.IsJson && String.IsNullOrEmpty(sugarColumn.ColumnDataType))
|
if (sugarColumn.IsJson && String.IsNullOrEmpty(sugarColumn.ColumnDataType))
|
||||||
{
|
{
|
||||||
if (this.Context.CurrentConnectionConfig.DbType == DbType.PostgreSQL)
|
if (this.Context.CurrentConnectionConfig.DbType == DbType.PostgreSQL)
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ namespace SqlSugar
|
|||||||
return setValue.First().Value;
|
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;
|
return result;
|
||||||
}));
|
}));
|
||||||
string whereString = null;
|
string whereString = null;
|
||||||
@@ -386,5 +386,36 @@ namespace SqlSugar
|
|||||||
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
|
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
|
||||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
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,
|
PropertyName = column.PropertyName,
|
||||||
PropertyType = UtilMethods.GetUnderType(column.PropertyInfo),
|
PropertyType = UtilMethods.GetUnderType(column.PropertyInfo),
|
||||||
SqlParameterDbType = column.SqlParameterDbType,
|
SqlParameterDbType = column.SqlParameterDbType,
|
||||||
TableId = i
|
TableId = i,
|
||||||
|
UpdateSql=column.UpdateSql,
|
||||||
|
UpdateServerTime= column.UpdateServerTime
|
||||||
};
|
};
|
||||||
if (columnInfo.PropertyType.IsEnum() && columnInfo.Value != null)
|
if (columnInfo.PropertyType.IsEnum() && columnInfo.Value != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -447,7 +447,7 @@ namespace SqlSugar
|
|||||||
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(SqlBuilder.GetTranslationColumnName(key), value));
|
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);
|
CheckTranscodeing(false);
|
||||||
AppendSets();
|
AppendSets();
|
||||||
return this;
|
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);
|
CheckTranscodeing(false);
|
||||||
AppendSets();
|
AppendSets();
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ namespace SqlSugar
|
|||||||
public int CreateTableFieldSort { get; set; }
|
public int CreateTableFieldSort { get; set; }
|
||||||
public bool InsertServerTime { get; set; }
|
public bool InsertServerTime { get; set; }
|
||||||
public string InsertSql { get; set; }
|
public string InsertSql { get; set; }
|
||||||
|
public bool UpdateServerTime { get; set; }
|
||||||
|
public string UpdateSql { get; set; }
|
||||||
internal object SqlParameterDbType { get; set; }
|
internal object SqlParameterDbType { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,5 +43,7 @@ namespace SqlSugar
|
|||||||
public object SqlParameterSize { get; set; }
|
public object SqlParameterSize { get; set; }
|
||||||
public string InsertSql { get; set; }
|
public string InsertSql { get; set; }
|
||||||
public bool InsertServerTime { 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 int CreateTableFieldSort { get; set; }
|
||||||
public bool InsertServerTime { get; set; }
|
public bool InsertServerTime { get; set; }
|
||||||
public string InsertSql { get; set; }
|
public string InsertSql { get; set; }
|
||||||
|
public bool UpdateServerTime { get; set; }
|
||||||
|
public string UpdateSql { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user