From fc844743f43aa43687be094af1395de8f2fdf6d3 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 11 Oct 2023 18:46:01 +0800 Subject: [PATCH] Synchronization code --- Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/Master.cs | 5 +++++ .../Abstract/SugarProvider/SqlSugarAccessory.cs | 10 +++++++++- Src/Asp.Net/SqlSugar/Enum/DbType.cs | 1 + .../DbMaintenance/PostgreSQLDbMaintenance.cs | 8 +++++++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/Master.cs b/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/Master.cs index 2d3fe8933..379014655 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/Master.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/Master.cs @@ -51,6 +51,11 @@ namespace SqlSugar // 获取对象中的属性 PropertyInfo propertyInfo = type.GetProperty(pair.Key); + if (propertyInfo == null) + { + propertyInfo = type.GetProperties().FirstOrDefault(it=>it.Name.EqualCase(pair.Key)); + } + if (propertyInfo != null) { propertyInfo.SetValue(obj, UtilMethods.ChangeType2(pair.Value, propertyInfo.PropertyType)); diff --git a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarAccessory.cs b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarAccessory.cs index a8de93b20..7ece2aaf8 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarAccessory.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/SugarProvider/SqlSugarAccessory.cs @@ -421,7 +421,7 @@ namespace SqlSugar } return false; } - private static void CheckDbDependency(ConnectionConfig config) + private void CheckDbDependency(ConnectionConfig config) { switch (config.DbType) { @@ -491,6 +491,14 @@ namespace SqlSugar case DbType.GaussDB: config.DbType = DbType.PostgreSQL; break; + case DbType.Vastbase: + config.DbType = DbType.PostgreSQL; + if (this.TempItems == null) + { + this.TempItems = new Dictionary(); + } + this.TempItems.Add("DbType.Vastbase", "DbType.Vastbase"); + break; case DbType.OceanBase: config.DbType = DbType.MySql; break; diff --git a/Src/Asp.Net/SqlSugar/Enum/DbType.cs b/Src/Asp.Net/SqlSugar/Enum/DbType.cs index c118b6d5a..e04f8b8b4 100644 --- a/Src/Asp.Net/SqlSugar/Enum/DbType.cs +++ b/Src/Asp.Net/SqlSugar/Enum/DbType.cs @@ -28,6 +28,7 @@ namespace SqlSugar GaussDB, OceanBase, Tidb, + Vastbase, Custom =900 } } diff --git a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs index aa62f1dd8..ae3d85002 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs @@ -377,7 +377,13 @@ WHERE tgrelid = '"+tableName+"'::regclass"); }); if (!GetDataBaseList(newDb).Any(it => it.Equals(databaseName, StringComparison.CurrentCultureIgnoreCase))) { - newDb.Ado.ExecuteCommand(string.Format(CreateDataBaseSql, this.SqlBuilder.SqlTranslationLeft+databaseName+this.SqlBuilder.SqlTranslationRight, databaseDirectory)); + var isVast = this.Context?.TempItems?.ContainsKey("DbType.Vastbase")==true; + var dbcompatibility = ""; + if (isVast) + { + dbcompatibility=" dbcompatibility = 'PG'"; + } + newDb.Ado.ExecuteCommand(string.Format(CreateDataBaseSql, this.SqlBuilder.SqlTranslationLeft+databaseName+this.SqlBuilder.SqlTranslationRight, databaseDirectory)+ dbcompatibility); } return true; }