From bfb438ee08a60182598c4ea66efd057d81ce7550 Mon Sep 17 00:00:00 2001 From: d4ilys <963922242@qq.com> Date: Tue, 21 Nov 2023 09:53:28 +0800 Subject: [PATCH] =?UTF-8?q?Clickhouse=20Bool=E7=B1=BB=E5=9E=8BParameter?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FreeSql.Tests/ClickHouse/ClickHouseTest3.cs | 16 ++++++++++++---- .../ClickHouseAdo/ClickHouseAdo.cs | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs b/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs index fc990939..52819284 100644 --- a/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs +++ b/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs @@ -20,7 +20,7 @@ namespace FreeSql.Tests.ClickHouse _fsql = new FreeSqlBuilder().UseConnectionString(DataType.ClickHouse, "Host=192.168.1.123;Port=8123;Database=test;Compress=True;Min Pool Size=1") .UseMonitorCommand(cmd => _output.WriteLine($"线程:{cmd.CommandText}\r\n")) - .UseNoneCommandParameter(false) + .UseNoneCommandParameter(true) .Build(); } @@ -35,7 +35,7 @@ namespace FreeSql.Tests.ClickHouse } /// - /// 测试bool类型映射 + /// 测试bool类型插入 /// [Fact] public void TestBoolMappingInsert() @@ -63,11 +63,19 @@ namespace FreeSql.Tests.ClickHouse Name = "Daily", Age = 22, Id = Guid.NewGuid().ToString(), - IsDelete = true, - IsEnable = null + IsDelete = false, + IsEnable = false }).ExecuteAffrows(); } + /// + /// 测试bool类型查询 + /// + [Fact] + public void TestBoolMappingSelect() + { + var list = _fsql.Select().ToList(); + } } [Table(Name = "table_test_bool")] diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs index 3ba93410..d3de56e4 100644 --- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs +++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs @@ -48,7 +48,7 @@ namespace FreeSql.ClickHouse param = Utils.GetDataReaderValue(mapType, param); if (param is bool || param is bool?) - return (bool)param ? 1 : 0; + return (bool)param; //不需要转0/1 else if (param is string) return string.Concat("'", param.ToString().Replace("'", "''").Replace("\\", "\\\\"), "'"); //只有 mysql 需要处理反斜杠 else if (param is char)