diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/ErrorMessage.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/ErrorMessage.cs index d52a18749..3eb63688a 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/ErrorMessage.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/ErrorMessage.cs @@ -20,7 +20,7 @@ namespace SqlSugar get { return GetThrowMessage("Entity mapping error.{0}", - "Select 实体与表映射出错,可以注释实体类中的字段排查具体哪一个字段。{0}"); + "Select 实体与表映射出错,可以注释实体类中的字段排查具体哪一个字段。【注意:如果用CodeFirt先配置禁止删列或更新】 {0}"); } } diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs index b5708bdae..3ee26c61e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs @@ -779,10 +779,21 @@ namespace SqlSugar { result = result.Replace(item.ParameterName, "0x" + BitConverter.ToString((byte[])item.Value)); } - else if (item.Value.GetType() !=UtilConstants.StringType&& connectionConfig.DbType == DbType.PostgreSQL&& PostgreSQLDbBind.MappingTypesConst.Any(x =>x.Value.ToString().EqualCase(item.Value.GetType().Name))) + else if (item.Value is bool) { - var type = PostgreSQLDbBind.MappingTypesConst.First(x => x.Value.ToString().EqualCase(item.Value.GetType().Name)).Key; - var replaceValue= string.Format("CAST('{0}' AS {1})", item.Value, type); + if (connectionConfig.DbType == DbType.PostgreSQL) + { + result = result.Replace(item.ParameterName, (Convert.ToBoolean(item.Value) ? "true": "false") ); + } + else + { + result = result.Replace(item.ParameterName, (Convert.ToBoolean(item.Value) ? 1 : 0) + ""); + } + } + else if (item.Value.GetType() != UtilConstants.StringType && connectionConfig.DbType == DbType.PostgreSQL && PostgreSQLDbBind.MappingTypesConst.Any(x => x.Value.ToString().EqualCase(item.Value.GetType().Name))) + { + var type = PostgreSQLDbBind.MappingTypesConst.First(x => x.Value.ToString().EqualCase(item.Value.GetType().Name)).Key; + var replaceValue = string.Format("CAST('{0}' AS {1})", item.Value, type); result = result.Replace(item.ParameterName, replaceValue); } else if (connectionConfig.MoreSettings?.DisableNvarchar == true || item.DbType == System.Data.DbType.AnsiString || connectionConfig.DbType == DbType.Sqlite)