Update exp to sql

This commit is contained in:
sunkaixuan 2022-10-07 22:21:39 +08:00
parent 3fc3925499
commit ca3135e815

View File

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