修复.NET bool类型转换为pgSql int2

This commit is contained in:
wintel
2025-02-23 21:11:42 +08:00
parent 8608aea1e9
commit f6b7ba8b88
5 changed files with 100 additions and 7 deletions

View File

@@ -85,6 +85,26 @@ namespace OpenAuth.Repository.Test
ConnectionString = connectionString,
IsAutoCloseConnection = true
});
if(dbType.Value != SqlSugar.DbType.PostgreSQL){
return sqlSugar;
}
// 配置bool类型转换为smallint
sqlSugar.Aop.OnExecutingChangeSql = (sql, parameters) =>
{
foreach (var param in parameters)
{
if (param.Value is bool boolValue)
{
param.DbType = System.Data.DbType.Int16;
// 将 bool 转换为 smallint
param.Value = boolValue ? (short)1 : (short)0;
}
}
// 返回修改后的 SQL 和参数
return new System.Collections.Generic.KeyValuePair<string, SugarParameter[]>(sql, parameters);
};
return sqlSugar;
});