mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
-
This commit is contained in:
parent
9dac12aba4
commit
2d43491673
@ -23,6 +23,7 @@ namespace OrmTest.UnitTest
|
||||
{
|
||||
FieldSingle();
|
||||
FieldMultiple();
|
||||
FieldMultiple2();
|
||||
}
|
||||
base.End("Filed Test");
|
||||
}
|
||||
@ -43,6 +44,14 @@ namespace OrmTest.UnitTest
|
||||
Check(selectorValue, null, expContext.GetTranslationColumnName("it.Name"), null, "FieldMultiple error");
|
||||
}
|
||||
|
||||
private void FieldMultiple2()
|
||||
{
|
||||
Expression<Func<Student, object>> exp = it =>SqlFunc.AggregateAvg(it.Id);
|
||||
ExpressionContext expContext = GetContext();
|
||||
expContext.Resolve(exp, ResolveExpressType.FieldMultiple);
|
||||
var selectorValue = expContext.Result.GetString();
|
||||
Check(selectorValue, null, "AVG([it].[Id])", null, "FieldMultiple error");
|
||||
}
|
||||
public ExpressionContext GetContext()
|
||||
{
|
||||
return new SqlServerExpressionContext();//可以更换
|
||||
|
@ -77,6 +77,8 @@ namespace SqlSugar
|
||||
break;
|
||||
case ResolveExpressType.FieldSingle:
|
||||
case ResolveExpressType.FieldMultiple:
|
||||
Field(parameter, isLeft, name, args, model);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -109,6 +111,17 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
private void Field(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model, List<MethodCallExpressionArgs> appendArgs = null)
|
||||
{
|
||||
if (this.Context.ResolveType == ResolveExpressType.FieldSingle)
|
||||
{
|
||||
this.Context.ResolveType = ResolveExpressType.WhereSingle;
|
||||
}
|
||||
else {
|
||||
this.Context.ResolveType = ResolveExpressType.WhereMultiple;
|
||||
}
|
||||
Where(parameter, isLeft, name, args, model);
|
||||
}
|
||||
private void Select(ExpressionParameter parameter, bool? isLeft, string name, IEnumerable<Expression> args, MethodCallExpressionModel model, List<MethodCallExpressionArgs> appendArgs = null)
|
||||
{
|
||||
if (name == "GetSelfAndAutoFill")
|
||||
|
Loading…
Reference in New Issue
Block a user