diff --git a/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/SqlBuilder/OceanBaseForOracleExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/SqlBuilder/OceanBaseForOracleExpressionContext.cs index 31c8bc592a0c118d69155e4011db5f988de07022..b3f4e51df1872b1704df2d6bae94487250e0f763 100644 --- a/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/SqlBuilder/OceanBaseForOracleExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/SqlBuilder/OceanBaseForOracleExpressionContext.cs @@ -16,6 +16,7 @@ namespace SqlSugar.OceanBaseForOracle public OceanBaseForOracleExpressionContext() { base.DbMehtods = new OceanBaseForOracleMethod(); + base.Case = new ExpressionContextCase(); } public override string SqlParameterKeyWord { diff --git a/Src/Asp.NetCore2/SqlSugar.TDSQLForPGODBC/TDSQLForPG/SqlBuilder/TDSQLForPGODBCExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar.TDSQLForPGODBC/TDSQLForPG/SqlBuilder/TDSQLForPGODBCExpressionContext.cs index 05cb81a82b1881f2fdabf9fbe6619142b01c71be..3728c75dbbde118e96ecb4f0c611c240d0a1bd1b 100644 --- a/Src/Asp.NetCore2/SqlSugar.TDSQLForPGODBC/TDSQLForPG/SqlBuilder/TDSQLForPGODBCExpressionContext.cs +++ b/Src/Asp.NetCore2/SqlSugar.TDSQLForPGODBC/TDSQLForPG/SqlBuilder/TDSQLForPGODBCExpressionContext.cs @@ -8,6 +8,7 @@ namespace SqlSugar.TDSQLForPGODBC public TDSQLForPGODBCExpressionContext() { base.DbMehtods = new TDSQLForPGODBCMethod(); + base.Case = new ExpressionContextCase(); } public override string SqlTranslationLeft { diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubTake.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubTake.cs index 534fa0a5df7b8fc591ac0da5acd681ab140df054..978122ae561f452a40d69502da07d0ae26e51b3c 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubTake.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/Subquery/Items/SubTake.cs @@ -55,19 +55,19 @@ namespace SqlSugar public string GetValue(Expression expression) { var numExp = (expression as MethodCallExpression).Arguments[0]; - var num =1; - if (ExpressionTool.GetParameters(numExp).Any()) - { + var num = 1; + if (ExpressionTool.GetParameters(numExp).Any()) + { var copyContext = this.Context.GetCopyContextWithMapping(); copyContext.IsSingle = false; copyContext.Resolve(numExp, ResolveExpressType.WhereMultiple); copyContext.Result.GetString(); } - else + else { num = ExpressionTool.DynamicInvoke(numExp).ObjToInt(); } - var take = (expression as MethodCallExpression); + var take = (expression as MethodCallExpression); if (this.Context is SqlServerExpressionContext || this.Context.GetType().Name.Contains("Access")) { return "TOP " + num; @@ -86,7 +86,7 @@ namespace SqlSugar { this.Context.Case.HasWhere = this.HasWhere; } - if (this?.Context?.Case?.Num != 1) + if (this?.Context?.Case?.Num > 1) { this.Context.Case.Num = num; }