Expression BUG

This commit is contained in:
sunkaixuan
2017-10-16 14:57:00 +08:00
parent 6655d02045
commit ed107278ab
2 changed files with 13 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ namespace OrmTest.UnitTest
base.Begin();
for (int i = 0; i < base.Count; i++)
{
whereSingle27();
whereSingle26();
whereSingle25();
whereSingle24();
@@ -54,6 +55,17 @@ namespace OrmTest.UnitTest
}
base.End("Where Test");
}
private void whereSingle27() {
var schoolData = new School() { Id = 100, Name = "x" };
Expression<Func<Student, bool>> exp = it => it.Name.Contains(schoolData.Name);
ExpressionContext expContext = new ExpressionContext();
expContext.Resolve(exp, ResolveExpressType.WhereMultiple);
var value = expContext.Result.GetString();
var pars = expContext.Parameters;
base.Check(value, pars, " ([it].[Name] like '%'+@MethodConst0+'%') ", new List<SugarParameter>() {
new SugarParameter("@MethodConst0","x")
}, "whereSingle27");
}
private void WhereMultiple1()
{
Expression<Func<Student, bool>> exp = it => it.Id > 1;

View File

@@ -284,7 +284,7 @@ namespace SqlSugar
base.Start();
var methodCallExpressionArgs = new MethodCallExpressionArgs()
{
IsMember = parameter.ChildExpression is MemberExpression,
IsMember = parameter.ChildExpression is MemberExpression&&!ExpressionTool.IsConstExpression(parameter.ChildExpression as MemberExpression),
MemberName = parameter.CommonTempData
};
if (methodCallExpressionArgs.IsMember && parameter.ChildExpression != null && parameter.ChildExpression.ToString() == "DateTime.Now")