Browse Source

Update exp to sql

pull/32/head
sunkaixuan 2 years ago
parent
commit
2c6dbc33a8
  1. 22
      Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs

22
Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs

@ -455,6 +455,28 @@ namespace SqlSugar
} }
else else
{ {
if (parameter?.OppsiteExpression != null)
{
var exp = ExpressionTool.RemoveConvert(parameter?.OppsiteExpression);
if (exp is MemberExpression)
{
var member = (exp as MemberExpression);
var memberParent = member.Expression;
if (memberParent != null && this.Context?.SugarContext?.Context != null)
{
var entity = this.Context.SugarContext.Context.EntityMaintenance.GetEntityInfo(memberParent.Type);
var columnInfo = entity.Columns.FirstOrDefault(it => it.PropertyName == member.Member.Name);
if (columnInfo?.SqlParameterDbType is Type)
{
var type = columnInfo.SqlParameterDbType as Type;
var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(columnInfo.PropertyInfo.PropertyType);
var obj = Activator.CreateInstance(type);
var p = ParameterConverter.Invoke(obj, new object[] { value, 100 + this.ContentIndex }) as SugarParameter;
value = p.Value;
}
}
}
}
AppendValue(parameter, isLeft, value); AppendValue(parameter, isLeft, value);
} }
} }

Loading…
Cancel
Save