Update exp to sql

This commit is contained in:
sunkaixuan 2024-01-25 18:20:25 +08:00
parent 3722f2ef8d
commit 5f14c03ba1
2 changed files with 30 additions and 5 deletions

View File

@ -156,7 +156,7 @@ namespace SqlSugar
};
model.Args.Add(methodCallExpressionArgs);
}
else if (isFirst && isIIF && isIFFBoolMember&& (item as MemberExpression)?.Member?.Name=="HasValue")
else if (isFirst && isIIF && isIFFBoolMember && (item as MemberExpression)?.Member?.Name == "HasValue")
{
var value = base.GetNewExpressionValue(item);
var methodCallExpressionArgs = new MethodCallExpressionArgs()
@ -167,9 +167,9 @@ namespace SqlSugar
};
model.Args.Add(methodCallExpressionArgs);
}
else if (name!=null && name != "MappingColumn" && !name.StartsWith("Row") &&ExpressionTool.GetMethodName(item)== "Format" && ExpressionTool.GetParameters(item).Count==0)
else if (name != null && name != "MappingColumn" && !name.StartsWith("Row") && ExpressionTool.GetMethodName(item) == "Format" && ExpressionTool.GetParameters(item).Count == 0)
{
var value = ExpressionTool.DynamicInvoke(item);
var value = ExpressionTool.DynamicInvoke(item);
var p = AppendParameter(value);
var methodCallExpressionArgs = new MethodCallExpressionArgs()
{
@ -265,6 +265,31 @@ namespace SqlSugar
{
model.Args.Add(GetMethodCallArgs(parameter, (item as MemberExpression).Expression));
}
else if (isBoolValue && isIIF && item is MemberExpression&&ExpressionTool.GetParameters(item).Count()==0)
{
var expValue = GetNewExpressionValue(item);
expValue = this.Context.DbMehtods.Equals(new MethodCallExpressionModel()
{
Name = "Equals",
Args = new List<MethodCallExpressionArgs>()
{
new MethodCallExpressionArgs(){
IsMember=true,
MemberName=expValue
},
new MethodCallExpressionArgs(){
IsMember=true,
MemberName= Context.DbMehtods.TrueValue()
}
}
});
model.Args.Add(new MethodCallExpressionArgs()
{
IsMember = false,
MemberName = expValue,
MemberValue = expValue
});
}
else if (isBoolValue && isIIF && item is MemberExpression)
{
var argItem = GetMethodCallArgs(parameter, (item as MemberExpression).Expression);
@ -277,7 +302,7 @@ namespace SqlSugar
}
model.Args.Add(argItem);
}
else if (name.IsIn("ListAny","ListAll") && item is LambdaExpression)
else if (name.IsIn("ListAny", "ListAll") && item is LambdaExpression)
{
var sql = GetNewExpressionValue(item, ResolveExpressType.WhereMultiple);
var lamExp = (item as LambdaExpression);

View File

@ -2,7 +2,7 @@
<package >
<metadata>
<id>SqlSugarCore</id>
<version>5.1.4.138-preview07</version>
<version>5.1.4.138-preview09</version>
<authors>sunkaixuan</authors>
<owners>果糖大数据科技</owners>
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>