Synchronization code

This commit is contained in:
sunkaixuan
2022-10-07 22:36:42 +08:00
parent 72dc71716d
commit 0a97544267
3 changed files with 21 additions and 8 deletions

View File

@@ -398,7 +398,7 @@ namespace SqlSugar
} }
public IUpdateable<T> SetColumns(Expression<Func<T, object>> filedNameExpression, object fieldValue) public IUpdateable<T> SetColumns(Expression<Func<T, object>> filedNameExpression, object fieldValue)
{ {
var name= UpdateBuilder.GetExpressionValue(filedNameExpression,ResolveExpressType.WhereSingle).GetString(); var name= UpdateBuilder.GetExpressionValue(filedNameExpression,ResolveExpressType.FieldSingle).GetString();
name = UpdateBuilder.Builder.GetNoTranslationColumnName(name); name = UpdateBuilder.Builder.GetNoTranslationColumnName(name);
return SetColumns(name, fieldValue); return SetColumns(name, fieldValue);
} }

View File

@@ -42,12 +42,13 @@ namespace SqlSugar
public string GetValue(Expression expression = null) public string GetValue(Expression expression = null)
{ {
var exp = expression as MethodCallExpression; var exp = expression as MethodCallExpression;
var entityType = (exp.Arguments[0] as LambdaExpression).Parameters[0].Type; //var entityType = (exp.Arguments[0] as LambdaExpression).Parameters[0].Type;
if (this.Context.InitMappingInfo != null) //if (this.Context.InitMappingInfo != null)
{ //{
this.Context.InitMappingInfo(entityType); // this.Context.InitMappingInfo(entityType);
this.Context.RefreshMapping(); // this.Context.RefreshMapping();
} //}
InitType(exp);
var result = ""; var result = "";
if (this.Context.JoinIndex == 0) if (this.Context.JoinIndex == 0)
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle); result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle);
@@ -60,7 +61,17 @@ namespace SqlSugar
return result; return result;
} }
private void InitType(MethodCallExpression exp)
{
foreach (var arg in (exp.Arguments[0] as LambdaExpression).Parameters)
{
if (this.Context.InitMappingInfo != null)
{
this.Context.InitMappingInfo(arg.Type);
this.Context.RefreshMapping();
}
}
}
public void SetShortName(MethodCallExpression exp, string result) public void SetShortName(MethodCallExpression exp, string result)
{ {
if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-", "*", "/")) if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-", "*", "/"))

View File

@@ -413,6 +413,8 @@ namespace SqlSugar
{ {
template = template.Replace("'{2}'", "{2}"); template = template.Replace("'{2}'", "{2}");
} }
tableName=SqlBuilder.GetTranslationTableName(tableName);
columnName = SqlBuilder.GetTranslationTableName(columnName);
string sql = string.Format(template, tableName, columnName, defaultValue); string sql = string.Format(template, tableName, columnName, defaultValue);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;