mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 02:29:39 +08:00
Expression BUG
This commit is contained in:
@@ -21,6 +21,7 @@ namespace OrmTest.UnitTest
|
|||||||
base.Begin();
|
base.Begin();
|
||||||
for (int i = 0; i < base.Count; i++)
|
for (int i = 0; i < base.Count; i++)
|
||||||
{
|
{
|
||||||
|
whereSingle27();
|
||||||
whereSingle26();
|
whereSingle26();
|
||||||
whereSingle25();
|
whereSingle25();
|
||||||
whereSingle24();
|
whereSingle24();
|
||||||
@@ -54,6 +55,17 @@ namespace OrmTest.UnitTest
|
|||||||
}
|
}
|
||||||
base.End("Where Test");
|
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()
|
private void WhereMultiple1()
|
||||||
{
|
{
|
||||||
Expression<Func<Student, bool>> exp = it => it.Id > 1;
|
Expression<Func<Student, bool>> exp = it => it.Id > 1;
|
||||||
|
@@ -284,7 +284,7 @@ namespace SqlSugar
|
|||||||
base.Start();
|
base.Start();
|
||||||
var methodCallExpressionArgs = new MethodCallExpressionArgs()
|
var methodCallExpressionArgs = new MethodCallExpressionArgs()
|
||||||
{
|
{
|
||||||
IsMember = parameter.ChildExpression is MemberExpression,
|
IsMember = parameter.ChildExpression is MemberExpression&&!ExpressionTool.IsConstExpression(parameter.ChildExpression as MemberExpression),
|
||||||
MemberName = parameter.CommonTempData
|
MemberName = parameter.CommonTempData
|
||||||
};
|
};
|
||||||
if (methodCallExpressionArgs.IsMember && parameter.ChildExpression != null && parameter.ChildExpression.ToString() == "DateTime.Now")
|
if (methodCallExpressionArgs.IsMember && parameter.ChildExpression != null && parameter.ChildExpression.ToString() == "DateTime.Now")
|
||||||
|
Reference in New Issue
Block a user