mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-02 03:13:58 +08:00
Express Bug
This commit is contained in:
@@ -27,8 +27,10 @@ namespace OrmTest.UnitTest
|
||||
whereSingle4();
|
||||
whereSingle5();
|
||||
whereSingle6();
|
||||
whereSingle7(new Student() { Id = 1 });
|
||||
WhereMultiple1();
|
||||
WhereMultiple2();
|
||||
|
||||
}
|
||||
base.End("Where Test");
|
||||
}
|
||||
@@ -137,6 +139,17 @@ namespace OrmTest.UnitTest
|
||||
new SugarParameter("@Name3","a1")
|
||||
}, "whereSingle6");
|
||||
}
|
||||
private void whereSingle7(Student st)
|
||||
{
|
||||
Expression<Func<Student, bool>> exp = it => it.Id > st.Id;
|
||||
ExpressionContext expContext = new ExpressionContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.WhereSingle);
|
||||
var value = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(value, pars, "( [Id] > @Id0 )", new List<SugarParameter>() {
|
||||
new SugarParameter("@Id0",1)
|
||||
}, "whereSingle7");
|
||||
}
|
||||
}
|
||||
|
||||
public class WhereConst
|
||||
|
||||
@@ -10,12 +10,24 @@ namespace SqlSugar
|
||||
public ExpressionParameter Parameter { get; set; }
|
||||
public MemberExpressionResolve(ExpressionParameter parameter) : base(parameter)
|
||||
{
|
||||
var expression = base.Expression as MemberExpression;
|
||||
var isLeft = parameter.IsLeft;
|
||||
string fieldName = string.Empty;
|
||||
var baseParameter = parameter.BaseParameter;
|
||||
baseParameter.ChildExpression = expression;
|
||||
var isLeft = parameter.IsLeft;
|
||||
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.ChildNodeSet);
|
||||
var expression = base.Expression as MemberExpression;
|
||||
if (expression.Expression != null&& expression.Expression.NodeType!= ExpressionType.Parameter) {
|
||||
var value= ExpressionTool.GetMemberValue(expression.Member, expression);
|
||||
if (isSetTempData)
|
||||
{
|
||||
baseParameter.CommonTempData = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
AppendValue(parameter, isLeft, value);
|
||||
}
|
||||
return;
|
||||
}
|
||||
string fieldName = string.Empty;
|
||||
baseParameter.ChildExpression = expression;
|
||||
switch (parameter.Context.ResolveType)
|
||||
{
|
||||
case ResolveExpressType.SelectSingle:
|
||||
|
||||
Reference in New Issue
Block a user