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";