mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-01 19:03:58 +08:00
-
This commit is contained in:
Binary file not shown.
@@ -13,7 +13,34 @@ namespace SqlSugar
|
|||||||
var isLeft = parameter.IsLeft;
|
var isLeft = parameter.IsLeft;
|
||||||
var isWhereSingle = parameter.Context.IsWhereSingle;
|
var isWhereSingle = parameter.Context.IsWhereSingle;
|
||||||
string fieldName = string.Empty;
|
string fieldName = string.Empty;
|
||||||
fieldName = isWhereSingle ? expression.Member.Name : expression.Member.ToString();
|
switch (parameter.Context.Type)
|
||||||
|
{
|
||||||
|
case ResolveExpressType.WhereSingle:
|
||||||
|
fieldName = GetFieldNameByWhereSingle(parameter, expression, isLeft);
|
||||||
|
break;
|
||||||
|
case ResolveExpressType.WhereMultiple:
|
||||||
|
fieldName = GetFiledNameByWhereMultiple(parameter, expression, isLeft);
|
||||||
|
break;
|
||||||
|
case ResolveExpressType.SelectSingle:
|
||||||
|
base.Context.SqlWhere = new StringBuilder();
|
||||||
|
base.Context.SqlWhere.Append(fieldName);
|
||||||
|
break;
|
||||||
|
case ResolveExpressType.SelectMultiple:
|
||||||
|
base.Context.SqlWhere = new StringBuilder();
|
||||||
|
base.Context.SqlWhere.Append(fieldName);
|
||||||
|
break;
|
||||||
|
case ResolveExpressType.FieldSingle:
|
||||||
|
break;
|
||||||
|
case ResolveExpressType.FieldMultiple:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetFiledNameByWhereMultiple(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
||||||
|
{
|
||||||
|
string fieldName = expression.Member.ToString();
|
||||||
if (parameter.BaseParameter.BinaryExpressionInfoList != null)
|
if (parameter.BaseParameter.BinaryExpressionInfoList != null)
|
||||||
parameter.BaseParameter.BinaryExpressionInfoList.Add(new KeyValuePair<string, BinaryExpressionInfo>(ExpressionConst.BinaryExpressionInfoListKey, new BinaryExpressionInfo()
|
parameter.BaseParameter.BinaryExpressionInfoList.Add(new KeyValuePair<string, BinaryExpressionInfo>(ExpressionConst.BinaryExpressionInfoListKey, new BinaryExpressionInfo()
|
||||||
{
|
{
|
||||||
@@ -21,11 +48,20 @@ namespace SqlSugar
|
|||||||
Value = fieldName,
|
Value = fieldName,
|
||||||
ExpressionType = expression.GetType()
|
ExpressionType = expression.GetType()
|
||||||
}));
|
}));
|
||||||
if (isLeft == null && base.Context.SqlWhere == null)
|
return fieldName;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetFieldNameByWhereSingle(ExpressionParameter parameter, MemberExpression expression, bool? isLeft)
|
||||||
{
|
{
|
||||||
base.Context.SqlWhere = new StringBuilder();
|
string fieldName = expression.Member.Name;
|
||||||
base.Context.SqlWhere.Append(fieldName);
|
if (parameter.BaseParameter.BinaryExpressionInfoList != null)
|
||||||
}
|
parameter.BaseParameter.BinaryExpressionInfoList.Add(new KeyValuePair<string, BinaryExpressionInfo>(ExpressionConst.BinaryExpressionInfoListKey, new BinaryExpressionInfo()
|
||||||
|
{
|
||||||
|
IsLeft = Convert.ToBoolean(isLeft),
|
||||||
|
Value = fieldName,
|
||||||
|
ExpressionType = expression.GetType()
|
||||||
|
}));
|
||||||
|
return fieldName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user