From d9c8bb5ca49b36a9e546be1badef81dc92c315ff Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 17 Mar 2025 20:02:24 +0800 Subject: [PATCH] Synchronization code --- .../Realization/Dm/SqlBuilder/DmExpressionContext.cs | 2 +- .../Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs | 10 +++++++++- .../Kdbndp/SqlBuilder/KdbndpInsertBuilder.cs | 9 ++++++++- .../Kdbndp/SqlBuilder/KdbndpQueryBuilder.cs | 9 ++++++++- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs index 938718245..005e27e63 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmExpressionContext.cs @@ -53,7 +53,7 @@ namespace SqlSugar } } public partial class DmMethod : DefaultDbMethod, IDbMethods - { + { public override string WeekOfYear(MethodCallExpressionModel mode) { var parameterNameA = mode.Args[0].MemberName; diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs index 0185fd8d1..33c4ff0af 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs @@ -54,7 +54,7 @@ namespace SqlSugar { sql = sql.Replace("sys_", "pg_"); } - else if (IsSqlServerModel()) + else if (IsSqlServerModel()) { sql = sql.Replace("sys_", "pg_"); @@ -67,6 +67,10 @@ namespace SqlSugar sql = sql.Replace("pcolumn on pcolumn.table_name = ptables.tablename", "pcolumn on pcolumn.table_name::text = ptables.tablename::text "); sql = sql.Replace("pkey on pcolumn.table_name = pkey.relname", "pkey on pcolumn.table_name::text = pkey.relname::text "); } + else if (IsMySql()) + { + sql = sql.Replace("pcolumn.udt_name", "pcolumn.data_type"); + } return sql; } } @@ -697,6 +701,10 @@ WHERE tgrelid = '" + tableName + "'::regclass"); { return this.Context.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.SqlServer; } + private bool IsMySql() + { + return this.Context.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.MySql; + } #endregion } } diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpInsertBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpInsertBuilder.cs index e5cd979dd..21a87b4ee 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpInsertBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpInsertBuilder.cs @@ -86,6 +86,10 @@ namespace SqlSugar { return FormatDateTimeOffset(it.Value); } + else if (it.Value is bool&& (IsMySqlModel()|| IsSqlServerModel())) + { + return Convert.ToBoolean(it.Value)?"1":"0"; + } else { value = it.Value; @@ -109,7 +113,10 @@ namespace SqlSugar { return this.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.SqlServer; } - + private bool IsMySqlModel() + { + return this.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.MySql; + } public override string FormatDateTimeOffset(object value) { var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value); diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpQueryBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpQueryBuilder.cs index 2fe9eafcf..e7f87d448 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpQueryBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpQueryBuilder.cs @@ -52,7 +52,14 @@ namespace SqlSugar { if (PartitionByValue.HasValue()) { - return base.ToSqlString(); + if (this.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.SqlServer) + { + return base.ToSqlString(); + } + else + { + return base.ToSqlString().Replace(" GetDate() ", " NOW() "); + } } base.AppendFilter(); string oldOrderValue = this.OrderByValue;