Add: dyanmic exp GetWhere(+2)

This commit is contained in:
sunkaixuan 2023-10-07 01:36:15 +08:00
parent dbcb447241
commit 03e3a0e218

View File

@ -33,6 +33,26 @@ namespace SqlSugar
return lambda;
}
public static LambdaExpression GetWhere(Dictionary<string, Type> parameterDictionary, FormattableString whereSql)
{
var parameters = parameterDictionary.Select(it => Expression.Parameter(it.Value, it.Key)).ToArray();
// 提取 FormattableString 中的参数值
var arguments = whereSql.GetArguments();
var sql = ReplaceFormatParameters(whereSql.Format);
// 构建动态表达式,使用常量表达式和 whereSql 中的参数值
var lambda = SqlSugarDynamicExpressionParser.ParseLambda(
parameters,
typeof(bool),
sql,
whereSql.GetArguments()
);
return lambda;
}
public static LambdaExpression GetMember(Dictionary<string,Type> parameterDictionary, Type propertyType, FormattableString memberSql)
{
var parameters = parameterDictionary.Select(it=> Expression.Parameter(it.Value,it.Key)).ToArray();