Update Core

This commit is contained in:
sunkaixuan 2022-05-30 14:18:21 +08:00
parent 1a79f79d9c
commit 57675b2670

View File

@ -23,8 +23,8 @@ namespace SqlSugar
else if (IsDateDiff(expression))
{
ResolveDateDiff(parameter, isLeft, expression);
}
else if (expression.Member.Name== "DayOfWeek"&& expression.Type==typeof(DayOfWeek))
}
else if (expression.Member.Name == "DayOfWeek" && expression.Type == typeof(DayOfWeek))
{
ResolveDayOfWeek(parameter, isLeft, expression);
}
@ -56,6 +56,19 @@ namespace SqlSugar
{
ResolveDateDate(parameter, isLeft, expression);
}
else if (IsConvertMemberName(expression))
{
var memParameter = (expression.Expression as UnaryExpression).Operand as ParameterExpression;
var name = ExpressionTool.GetMemberName(expression);
if (this.Context.IsSingle)
{
AppendMember(parameter, isLeft, this.Context.GetTranslationColumnName(name));
}
else
{
AppendMember(parameter, isLeft, this.Context.GetTranslationColumnName(memParameter.Name + "." + name));
}
}
else if (isMemberValue)
{
var nav = new OneToOneNavgateExpression(this.Context?.SugarContext?.Context);
@ -73,7 +86,7 @@ namespace SqlSugar
AppendValue(parameter, isLeft, value);
}
}
else if (navN.IsNavgate(expression))
else if (navN.IsNavgate(expression))
{
var value = navN.GetMemberSql();
this.Context.SingleTableNameSubqueryShortName = navN.shorName;
@ -86,12 +99,6 @@ namespace SqlSugar
AppendValue(parameter, isLeft, value);
}
}
else if(expression.Expression is UnaryExpression&&(expression.Expression as UnaryExpression).Operand is ParameterExpression)
{
var memParameter = (expression.Expression as UnaryExpression).Operand as ParameterExpression;
var name = ExpressionTool.GetMemberName(expression);
this.Context.Result.Append(this.Context.GetTranslationColumnName(memParameter.Name+"."+name));
}
else
{
ResolveMemberValue(parameter, baseParameter, isLeft, isSetTempData, expression);
@ -107,6 +114,11 @@ namespace SqlSugar
}
}
private static bool IsConvertMemberName(MemberExpression expression)
{
return expression.Expression is UnaryExpression && (expression.Expression as UnaryExpression).Operand is ParameterExpression;
}
#region Resolve default