mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 01:58:13 +08:00
-
This commit is contained in:
@@ -26,6 +26,7 @@ namespace OrmTest.UnitTest
|
||||
single3();
|
||||
single4();
|
||||
single5();
|
||||
single6();
|
||||
Multiple();
|
||||
Multiple2();
|
||||
singleDynamic();
|
||||
@@ -161,7 +162,22 @@ namespace OrmTest.UnitTest
|
||||
@"( @constant0<>'' AND @constant0 IS NOT NULL )", new List<SugarParameter>() {
|
||||
new SugarParameter("@constant0",p)
|
||||
}, selectorValue, pars,
|
||||
"Select.single4 Error");
|
||||
"Select.single5 Error");
|
||||
}
|
||||
private void single6()
|
||||
{
|
||||
var p = (DateTime?)DateTime.Now;
|
||||
Expression<Func<Student, object>> exp = it => p.Value;
|
||||
SqlServerExpressionContext expContext = new SqlServerExpressionContext();
|
||||
expContext.IsSingle = false;
|
||||
expContext.Resolve(exp, ResolveExpressType.FieldSingle);
|
||||
var selectorValue = expContext.Result.GetString();
|
||||
var pars = expContext.Parameters;
|
||||
base.Check(
|
||||
@" @Const0 ", new List<SugarParameter>() {
|
||||
new SugarParameter("@Const0",p)
|
||||
}, selectorValue, pars,
|
||||
"Select.single6 Error");
|
||||
}
|
||||
|
||||
private void singleDynamic()
|
||||
|
@@ -42,7 +42,7 @@ namespace SqlSugar
|
||||
}
|
||||
else if (isValueBool)
|
||||
{
|
||||
ResolveValueBool(parameter, baseParameter, expression,isLeft, isSingle);
|
||||
ResolveValueBool(parameter, baseParameter, expression, isLeft, isSingle);
|
||||
}
|
||||
else if (isValue)
|
||||
{
|
||||
@@ -105,22 +105,32 @@ namespace SqlSugar
|
||||
string fieldName = string.Empty;
|
||||
if (isSetTempData)
|
||||
{
|
||||
fieldName = GetName(parameter, expression, null, isSingle);
|
||||
baseParameter.CommonTempData = fieldName;
|
||||
return;
|
||||
if (ExpressionTool.IsConstExpression(expression))
|
||||
{
|
||||
var value = ExpressionTool.GetMemberValue(expression.Member, expression);
|
||||
base.AppendValue(parameter, isLeft, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldName = GetName(parameter, expression, null, isSingle);
|
||||
baseParameter.CommonTempData = fieldName;
|
||||
}
|
||||
}
|
||||
if (ExpressionTool.IsConstExpression(expression))
|
||||
else
|
||||
{
|
||||
var value = ExpressionTool.GetMemberValue(expression.Member, expression);
|
||||
base.AppendValue(parameter, isLeft, value);
|
||||
return;
|
||||
if (ExpressionTool.IsConstExpression(expression))
|
||||
{
|
||||
var value = ExpressionTool.GetMemberValue(expression.Member, expression);
|
||||
base.AppendValue(parameter, isLeft, value);
|
||||
return;
|
||||
}
|
||||
fieldName = GetName(parameter, expression, isLeft, isSingle);
|
||||
if (expression.Type == UtilConstants.BoolType && baseParameter.OperatorValue.IsNullOrEmpty())
|
||||
{
|
||||
fieldName = "( " + fieldName + "=1 )";
|
||||
}
|
||||
AppendMember(parameter, isLeft, fieldName);
|
||||
}
|
||||
fieldName = GetName(parameter, expression, isLeft, isSingle);
|
||||
if (expression.Type == UtilConstants.BoolType && baseParameter.OperatorValue.IsNullOrEmpty())
|
||||
{
|
||||
fieldName = "( " + fieldName + "=1 )";
|
||||
}
|
||||
AppendMember(parameter, isLeft, fieldName);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
Reference in New Issue
Block a user