From 1f4217876c8b5d75eb264c278f5608ea5747e526 Mon Sep 17 00:00:00 2001 From: skx <610262374@qq.com> Date: Wed, 14 Oct 2020 12:25:15 +0800 Subject: [PATCH] Update PgSql --- Src/Asp.Net/PgSqlTest/Bugs/BugTest3.cs | 46 +++++++++++++++++++ Src/Asp.Net/PgSqlTest/PgSqlTest.csproj | 1 + .../CodeFirstProvider/CodeFirstProvider.cs | 4 ++ .../SqlBuilder/PostgreSQLExpressionContext.cs | 5 ++ 4 files changed, 56 insertions(+) create mode 100644 Src/Asp.Net/PgSqlTest/Bugs/BugTest3.cs diff --git a/Src/Asp.Net/PgSqlTest/Bugs/BugTest3.cs b/Src/Asp.Net/PgSqlTest/Bugs/BugTest3.cs new file mode 100644 index 000000000..77db9eeb6 --- /dev/null +++ b/Src/Asp.Net/PgSqlTest/Bugs/BugTest3.cs @@ -0,0 +1,46 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest.Test +{ + public class BugTest + { + public static void Init() + { + SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig() + { + ConnectionString = @"PORT=5433;DATABASE=x;HOST=localhost;PASSWORD=haosql;USER ID=postgres", + DbType = DbType.PostgreSQL, + IsAutoCloseConnection = true, + + InitKeyType = InitKeyType.Attribute, + }); + //调式代码 用来打印SQL + Db.Aop.OnLogExecuting = (sql, pars) => + { + Console.WriteLine(sql); + }; + + Db.CodeFirst.InitTables(typeof(testmmmm12)); + + var id = Db.Insertable(new testmmmm12 { name="a", isok=true }).ExecuteReturnIdentity(); + var list = Db.Queryable().InSingle(id); + var x = Db.Queryable().Where(it => !it.isok).ToList(); + + } + } + + public class testmmmm12 + { + [SugarColumn(IsPrimaryKey =true,IsIdentity =true)] + public int id { get; set; } + public string name { get; set; } + public bool isok { get; set; } + } + +} diff --git a/Src/Asp.Net/PgSqlTest/PgSqlTest.csproj b/Src/Asp.Net/PgSqlTest/PgSqlTest.csproj index 8e86b0b14..b28a8d3e0 100644 --- a/Src/Asp.Net/PgSqlTest/PgSqlTest.csproj +++ b/Src/Asp.Net/PgSqlTest/PgSqlTest.csproj @@ -61,6 +61,7 @@ + diff --git a/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs index 1ec62ee80..2f3273758 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs @@ -322,6 +322,10 @@ namespace SqlSugar properyTypeName = this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name); } var dataType = dc.DataType; + if (properyTypeName == "boolean" && dataType == "bool") + { + return false; + } return properyTypeName != dataType; } #endregion diff --git a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs index 82623421b..33dcf2afb 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLExpressionContext.cs @@ -253,5 +253,10 @@ namespace SqlSugar { return "RANDOM()"; } + + public override string EqualTrue(string fieldName) + { + return "( " + fieldName + "=true )"; + } } }