diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs index 5b03fb18f..11d2e1739 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs @@ -61,6 +61,10 @@ namespace SqlSugar { return (HasWhere?"AND":"WHERE")+ " ROWNUM=1"; } + else if (this.Context is PostgreSQLExpressionContext) + { + return "limit 1"; + } else { return "limit 0,1"; diff --git a/Src/Asp.Net/SqlSugar/Infrastructure/Mapper.cs b/Src/Asp.Net/SqlSugar/Infrastructure/Mapper.cs index 2de6f1526..9f6f2b96e 100644 --- a/Src/Asp.Net/SqlSugar/Infrastructure/Mapper.cs +++ b/Src/Asp.Net/SqlSugar/Infrastructure/Mapper.cs @@ -103,6 +103,10 @@ namespace SqlSugar } } result = queryBuilder.GetSelectByItems(selectItems); + if (_context.CurrentConnectionConfig.DbType == DbType.PostgreSQL) + { + result = result.ToLower(); + } return result; } } diff --git a/Src/Asp.Net/SqlSugar/OnlyNet/PostgreSQLExpressionContext.cs b/Src/Asp.Net/SqlSugar/OnlyNet/PostgreSQLExpressionContext.cs new file mode 100644 index 000000000..38cad7d5a --- /dev/null +++ b/Src/Asp.Net/SqlSugar/OnlyNet/PostgreSQLExpressionContext.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace SqlSugar +{ + internal class PostgreSQLExpressionContext : ExpressionContext, ILambdaExpressions + { + public SqlSugarClient Context + { + get + { + throw new NotImplementedException(); + } + + set + { + throw new NotImplementedException(); + } + } + } +} diff --git a/Src/Asp.Net/SqlSugar/SqlSugar.csproj b/Src/Asp.Net/SqlSugar/SqlSugar.csproj index 68d6b9a0e..f3803275c 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.Net/SqlSugar/SqlSugar.csproj @@ -115,6 +115,7 @@ + diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs index 5b03fb18f..11d2e1739 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Subquery/Items/SubTop.cs @@ -61,6 +61,10 @@ namespace SqlSugar { return (HasWhere?"AND":"WHERE")+ " ROWNUM=1"; } + else if (this.Context is PostgreSQLExpressionContext) + { + return "limit 1"; + } else { return "limit 0,1";