From ba8c34fa3c90fc8c50febf6831e732b4f7a330ea Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Sun, 3 Dec 2023 21:33:06 +0800 Subject: [PATCH] update pgsql tests --- Examples/base_entity/Program.cs | 38 +++++++++---------- Examples/orm_vs/Program.cs | 26 ++++++------- Extensions/FreeSql.Generator/ConsoleApp.cs | 4 +- FreeSql.DbContext/FreeSql.DbContext.xml | 9 +++++ FreeSql.Tests/FreeSql.Tests.DbContext/g.cs | 2 +- .../FreeSql.Tests.PerformanceTests/g.cs | 34 ++++++++--------- .../FreeSql.Tests.Provider.Custom/g.cs | 2 +- .../FreeSql.Tests.Provider.Odbc/g.cs | 6 +-- .../g.cs | 4 +- .../NpgsqlConnectionExtensionsTest.cs | 4 +- .../Internal/GlobalFilterTest.cs | 2 +- FreeSql.Tests/FreeSql.Tests/Issues/467.cs | 2 +- .../PostgreSQLAdo/PostgreSQLAdoTest.cs | 2 +- FreeSql.Tests/FreeSql.Tests/UnitTest1.cs | 2 +- FreeSql.Tests/FreeSql.Tests/g.cs | 12 +++--- FreeSql.Tests/tests.playlist | 3 -- FreeSql/Internal/CommonExpression.cs | 6 ++- .../ClickHouseAdo/ClickHouseAdo.cs | 2 +- 18 files changed, 85 insertions(+), 75 deletions(-) diff --git a/Examples/base_entity/Program.cs b/Examples/base_entity/Program.cs index 7ffe94cf..93421a44 100644 --- a/Examples/base_entity/Program.cs +++ b/Examples/base_entity/Program.cs @@ -561,33 +561,33 @@ namespace base_entity .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=3;AllowLoadLocalInfile=true") - //.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true") - //.UseAdoConnectionPool(false) - //.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2") - ////.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2") - //.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) + //.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true") + //.UseAdoConnectionPool(false) + //.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2") + ////.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2") + //.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) - //.UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2") - //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) + //.UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2") + //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) - //.UseConnectionString(FreeSql.DataType.Dameng, "server=127.0.0.1;port=5236;user=2user;password=123456789;database=2user;poolsize=5;") - //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) + //.UseConnectionString(FreeSql.DataType.Dameng, "server=127.0.0.1;port=5236;user=2user;password=123456789;database=2user;poolsize=5;") + //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) - //.UseConnectionString(FreeSql.DataType.OdbcMySql, "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Persist Security Info=False;Trusted_Connection=Yes;UID=root;PWD=root;DATABASE=cccddd_odbc;Charset=utf8;SslMode=none;Max pool size=2") + //.UseConnectionString(FreeSql.DataType.OdbcMySql, "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Persist Security Info=False;Trusted_Connection=Yes;UID=root;PWD=root;DATABASE=cccddd_odbc;Charset=utf8;SslMode=none;Max pool size=2") - //.UseConnectionString(FreeSql.DataType.OdbcSqlServer, "Driver={SQL Server};Server=.;Persist Security Info=False;Trusted_Connection=Yes;Integrated Security=True;DATABASE=freesqlTest_odbc;Pooling=true;Max pool size=3") + //.UseConnectionString(FreeSql.DataType.OdbcSqlServer, "Driver={SQL Server};Server=.;Persist Security Info=False;Trusted_Connection=Yes;Integrated Security=True;DATABASE=freesqlTest_odbc;Pooling=true;Max pool size=3") - //.UseConnectionString(FreeSql.DataType.OdbcPostgreSQL, "Driver={PostgreSQL Unicode(x64)};Server=192.168.164.10;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;Maximum Pool Size=2") - //.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) + //.UseConnectionString(FreeSql.DataType.OdbcPostgreSQL, "Driver={PostgreSQL Unicode(x64)};Server=127.0.0.1;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;Maximum Pool Size=2") + //.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) - //.UseConnectionString(FreeSql.DataType.OdbcOracle, "Driver={Oracle in XE};Server=//127.0.0.1:1521/XE;Persist Security Info=False;Trusted_Connection=Yes;UID=odbc1;PWD=123456") - //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) + //.UseConnectionString(FreeSql.DataType.OdbcOracle, "Driver={Oracle in XE};Server=//127.0.0.1:1521/XE;Persist Security Info=False;Trusted_Connection=Yes;UID=odbc1;PWD=123456") + //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) - //.UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789") - //.UseConnectionString(DataType.QuestDb, "host=localhost;port=8812;username=admin;password=quest;database=qdb;ServerCompatibilityMode=NoTypeLoading;") + //.UseConnectionString(FreeSql.DataType.OdbcDameng, "Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236;Persist Security Info=False;Trusted_Connection=Yes;UID=USER1;PWD=123456789") + //.UseConnectionString(DataType.QuestDb, "host=localhost;port=8812;username=admin;password=quest;database=qdb;ServerCompatibilityMode=NoTypeLoading;") - //.UseConnectionString(DataType.ClickHouse, "DataCompress=False;BufferSize=32768;SocketTimeout=10000;CheckCompressedHash=False;Encrypt=False;Compressor=lz4;Host=192.168.0.121;Port=8125;Database=PersonnelLocation;Username=root;Password=123") - .UseMonitorCommand(cmd => + //.UseConnectionString(DataType.ClickHouse, "DataCompress=False;BufferSize=32768;SocketTimeout=10000;CheckCompressedHash=False;Encrypt=False;Compressor=lz4;Host=192.168.0.121;Port=8125;Database=PersonnelLocation;Username=root;Password=123") + .UseMonitorCommand(cmd => { Console.WriteLine(cmd.CommandText + "\r\n"); //cmd.CommandText = null; //不执行 diff --git a/Examples/orm_vs/Program.cs b/Examples/orm_vs/Program.cs index cd15bb85..327815ed 100644 --- a/Examples/orm_vs/Program.cs +++ b/Examples/orm_vs/Program.cs @@ -23,9 +23,9 @@ namespace orm_vs { static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=tedb1;Pooling=true;Max Pool Size=21;TrustServerCertificate=true") - //.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=21;AllowLoadLocalInfile=true;") - //.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=21") - .UseAutoSyncStructure(false) + //.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=21;AllowLoadLocalInfile=true;") + //.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=21") + .UseAutoSyncStructure(false) .UseNoneCommandParameter(true) //.UseConfigEntityFromDbFirst(true) .Build(); @@ -38,11 +38,11 @@ namespace orm_vs { ConnectionString = "Data Source=.;Integrated Security=True;Initial Catalog=tedb1;Pooling=true;Min Pool Size=20;Max Pool Size=20;TrustServerCertificate=true", DbType = DbType.SqlServer, - //ConnectionString = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Min Pool Size=20;Max Pool Size=20;AllowLoadLocalInfile=true;", - //DbType = DbType.MySql, - //ConnectionString = "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=20", - //DbType = DbType.PostgreSQL, - IsAutoCloseConnection = true, + //ConnectionString = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Min Pool Size=20;Max Pool Size=20;AllowLoadLocalInfile=true;", + //DbType = DbType.MySql, + //ConnectionString = "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=20", + //DbType = DbType.PostgreSQL, + IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute }); //db.Aop.OnLogExecuting = (sql, pars) => @@ -60,12 +60,12 @@ namespace orm_vs protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(@"Data Source=.;Integrated Security=True;Initial Catalog=tedb1;Pooling=true;Min Pool Size=19;Max Pool Size=19;TrustServerCertificate=true"); - //var connectionString = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Min Pool Size=19;Max Pool Size=19"; - //optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); - //optionsBuilder.UseNpgsql("Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=19"); - } + //var connectionString = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Min Pool Size=19;Max Pool Size=19"; + //optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); + //optionsBuilder.UseNpgsql("Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=19"); + } - protected override void OnModelCreating(ModelBuilder modelBuilder) + protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } diff --git a/Extensions/FreeSql.Generator/ConsoleApp.cs b/Extensions/FreeSql.Generator/ConsoleApp.cs index 50050d10..0588094b 100644 --- a/Extensions/FreeSql.Generator/ConsoleApp.cs +++ b/Extensions/FreeSql.Generator/ConsoleApp.cs @@ -104,13 +104,13 @@ new Colorful.Formatter("v" + string.Join(".", typeof(ConsoleApp).Assembly.GetNam -DB ""{6},data source=127.0.0.1;port=3306;user id=root;password=root;initial catalog=数据库;charset=utf8;sslmode=none;max pool size=2"" -DB ""{7},data source=.;integrated security=True;initial catalog=数据库;pooling=true;max pool size=2"" - -DB ""{8},host=192.168.164.10;port=5432;username=postgres;password=123456;database=数据库;pooling=true;maximum pool size=2"" + -DB ""{8},host=127.0.0.1;port=5432;username=postgres;password=123456;database=数据库;pooling=true;maximum pool size=2"" -DB ""{9},user id=user1;password=123456;data source=//127.0.0.1:1521/XE;pooling=true;max pool size=2"" -DB ""{10},data source=document.db"" -DB ""{14},database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456;max pool size=2"" -DB ""{11},server=127.0.0.1;port=5236;user id=2user;password=123456789;database=2user;poolsize=2"" -DB ""{12},server=127.0.0.1;port=54321;uid=USER2;pwd=123456789;database=数据库"" - -DB ""{13},host=192.168.164.10;port=2003;database=数据库;username=SYSDBA;password=szoscar55;maxpoolsize=2"" + -DB ""{13},host=127.0.0.1;port=2003;database=数据库;username=SYSDBA;password=szoscar55;maxpoolsize=2"" * {11}(达梦数据库)、{12}(人大金仓数据库)、{13}(神舟通用数据库) -Filter Table+View+StoreProcedure diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 594fbad3..537315e2 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -733,6 +733,15 @@ + + + 根据Assembly扫描所有继承IEntityTypeConfiguration<T>的配置类 + + + + + + 创建普通数据上下文档对象 diff --git a/FreeSql.Tests/FreeSql.Tests.DbContext/g.cs b/FreeSql.Tests/FreeSql.Tests.DbContext/g.cs index 7775d391..8aacdc20 100644 --- a/FreeSql.Tests/FreeSql.Tests.DbContext/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.DbContext/g.cs @@ -42,7 +42,7 @@ public class g public static IFreeSql mysql => mysqlLazy.Value; static Lazy pgsqlLazy = new Lazy(() => new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") + .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") .UseAutoSyncStructure(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseLazyLoading(true) diff --git a/FreeSql.Tests/FreeSql.Tests.PerformanceTests/g.cs b/FreeSql.Tests/FreeSql.Tests.PerformanceTests/g.cs index 8a8d4d3e..0eb4310f 100644 --- a/FreeSql.Tests/FreeSql.Tests.PerformanceTests/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.PerformanceTests/g.cs @@ -11,24 +11,24 @@ public class g .UseAutoSyncStructure(false) .Build(); - //public static IFreeSql sqlserver = new FreeSql.FreeSqlBuilder() - // .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") - // .UseAutoSyncStructure(false) - // .Build(); + //public static IFreeSql sqlserver = new FreeSql.FreeSqlBuilder() + // .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") + // .UseAutoSyncStructure(false) + // .Build(); - //public static IFreeSql pgsql = new FreeSql.FreeSqlBuilder() - // .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") - // .UseAutoSyncStructure(false) - // .UseSyncStructureToLower(true) - // .Build(); + //public static IFreeSql pgsql = new FreeSql.FreeSqlBuilder() + // .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") + // .UseAutoSyncStructure(false) + // .UseSyncStructureToLower(true) + // .Build(); - //public static IFreeSql oracle = new FreeSql.FreeSqlBuilder() - // .UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=10") - // .UseAutoSyncStructure(false) - // .Build(); + //public static IFreeSql oracle = new FreeSql.FreeSqlBuilder() + // .UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=10") + // .UseAutoSyncStructure(false) + // .Build(); - //public static IFreeSql sqlite = new FreeSql.FreeSqlBuilder() - // .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|\document.db;Attachs=xxxtb.db;Pooling=true;Max Pool Size=10") - // .UseAutoSyncStructure(false) - // .Build(); + //public static IFreeSql sqlite = new FreeSql.FreeSqlBuilder() + // .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|\document.db;Attachs=xxxtb.db;Pooling=true;Max Pool Size=10") + // .UseAutoSyncStructure(false) + // .Build(); } diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Custom/g.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Custom/g.cs index 51bd9b31..3a81b809 100644 --- a/FreeSql.Tests/FreeSql.Tests.Provider.Custom/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.Provider.Custom/g.cs @@ -61,7 +61,7 @@ public class g static Lazy pgsqlLazy = new Lazy(() => { var fsql = new FreeSql.FreeSqlBuilder() - .UseConnectionFactory(FreeSql.DataType.CustomPostgreSQL, () => new NpgsqlConnection("Server=192.168.164.10;Port=5432;UID=postgres;PWD=123456;Database=tedb_custom;Pooling=true;")) + .UseConnectionFactory(FreeSql.DataType.CustomPostgreSQL, () => new NpgsqlConnection("Server=127.0.0.1;Port=5432;UID=postgres;PWD=123456;Database=tedb_custom;Pooling=true;")) .UseAutoSyncStructure(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseLazyLoading(true) diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs index 195af72e..42ce0a72 100644 --- a/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.Provider.Odbc/g.cs @@ -48,9 +48,9 @@ public class g static Lazy pgsqlLazy = new Lazy(() => { return new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.OdbcPostgreSQL, "Driver={PostgreSQL Unicode(x64)};Server=192.168.164.10;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;Maximum Pool Size=2") - //.UseConnectionFactory(FreeSql.DataType.OdbcPostgreSQL, () => new System.Data.Odbc.OdbcConnection("Driver={PostgreSQL Unicode(x64)};Server=192.168.164.10;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;")) - .UseAutoSyncStructure(true) + .UseConnectionString(FreeSql.DataType.OdbcPostgreSQL, "Driver={PostgreSQL Unicode(x64)};Server=127.0.0.1;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;Maximum Pool Size=2") + //.UseConnectionFactory(FreeSql.DataType.OdbcPostgreSQL, () => new System.Data.Odbc.OdbcConnection("Driver={PostgreSQL Unicode(x64)};Server=127.0.0.1;Port=5432;UID=postgres;PWD=123456;Database=tedb_odbc;Pooling=true;")) + .UseAutoSyncStructure(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseLazyLoading(true) .UseMonitorCommand( diff --git a/FreeSql.Tests/FreeSql.Tests.Provider.PostgreSQL.NetTopologySuite/g.cs b/FreeSql.Tests/FreeSql.Tests.Provider.PostgreSQL.NetTopologySuite/g.cs index 8a49d4da..fd0c507b 100644 --- a/FreeSql.Tests/FreeSql.Tests.Provider.PostgreSQL.NetTopologySuite/g.cs +++ b/FreeSql.Tests/FreeSql.Tests.Provider.PostgreSQL.NetTopologySuite/g.cs @@ -11,8 +11,8 @@ public class g { NpgsqlConnection.GlobalTypeMapper.UseNetTopologySuite(); return new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=2") - //.UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new Npgsql.NpgsqlConnection("Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;")) + .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=2") + //.UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new Npgsql.NpgsqlConnection("Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;")) .UseAutoSyncStructure(true) //.UseGenerateCommandParameterWithLambda(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) diff --git a/FreeSql.Tests/FreeSql.Tests/AdoNetExtensions/NpgsqlConnectionExtensionsTest.cs b/FreeSql.Tests/FreeSql.Tests/AdoNetExtensions/NpgsqlConnectionExtensionsTest.cs index 542e083a..6b7e1b1d 100644 --- a/FreeSql.Tests/FreeSql.Tests/AdoNetExtensions/NpgsqlConnectionExtensionsTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/AdoNetExtensions/NpgsqlConnectionExtensionsTest.cs @@ -1,4 +1,4 @@ -using Npgsql; +using Npgsql; using System; using System.Collections.Generic; using Xunit; @@ -6,7 +6,7 @@ using Xunit; namespace FreeSql.Tests.AdoNetExtensions.NpgsqlConnectionExtensions { public class Methods { - string _connectString = "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=5"; + string _connectString = "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=5"; public Methods() { g.pgsql.CodeFirst.SyncStructure(); diff --git a/FreeSql.Tests/FreeSql.Tests/Internal/GlobalFilterTest.cs b/FreeSql.Tests/FreeSql.Tests/Internal/GlobalFilterTest.cs index c800e65b..8010c251 100644 --- a/FreeSql.Tests/FreeSql.Tests/Internal/GlobalFilterTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Internal/GlobalFilterTest.cs @@ -178,7 +178,7 @@ WHERE (a.""TenrantId"" = 100) AND (a.""id"" > 10) AND (a.""IsDeleted"" = 1)", sq var sql = fsql.Select().Where(a => a.id > 10).ToSql(); Assert.Equal(@"SELECT a.`id`, a.`TenrantId`, a.`IsDeleted` FROM `TestGFilter1` a -WHERE (a.`TenrantId` = 100) AND (a.`id` > 10) AND (a.`IsDeleted` = 1)", sql); +WHERE (a.`TenrantId` = 100) AND (a.`id` > 10) AND (a.`IsDeleted` = true)", sql); } } diff --git a/FreeSql.Tests/FreeSql.Tests/Issues/467.cs b/FreeSql.Tests/FreeSql.Tests/Issues/467.cs index 6b218ba8..31d16688 100644 --- a/FreeSql.Tests/FreeSql.Tests/Issues/467.cs +++ b/FreeSql.Tests/FreeSql.Tests/Issues/467.cs @@ -15,7 +15,7 @@ namespace FreeSql.Tests.Issues public void SelectTest() { using (IFreeSql fsql = new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=1") + .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=1") //.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper) .UseGenerateCommandParameterWithLambda(true) .UseAutoSyncStructure(true) diff --git a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs index b4e5defa..bd8b8082 100644 --- a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs @@ -12,7 +12,7 @@ namespace FreeSql.Tests.PostgreSQL { var t1 = g.pgsql.Ado.MasterPool.StatisticsFullily; - var connectionString = "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=21"; + var connectionString = "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=21"; using (var t2 = new FreeSqlBuilder() .UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new NpgsqlConnection(connectionString)) .Build()) diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs index cb628870..83b0a6a0 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs @@ -594,7 +594,7 @@ namespace FreeSql.Tests IFreeSql fsql = new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=7") + .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=7") .UseNameConvert(FreeSql.Internal.NameConvertType.PascalCaseToUnderscoreWithLower) .UseNoneCommandParameter(true) .UseAutoSyncStructure(true) //自动同步实体结构到数据库 diff --git a/FreeSql.Tests/FreeSql.Tests/g.cs b/FreeSql.Tests/FreeSql.Tests/g.cs index 2bd1833b..7a36b9a5 100644 --- a/FreeSql.Tests/FreeSql.Tests/g.cs +++ b/FreeSql.Tests/FreeSql.Tests/g.cs @@ -22,9 +22,9 @@ public class g static Lazy mysqlLazy = new Lazy(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=5;Allow User Variables=True") - //.UseConnectionFactory(FreeSql.DataType.MySql, () => new MySql.Data.MySqlClient.MySqlConnection("Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;")) - //.UseConnectionString(FreeSql.DataType.MySql, "Data Source=192.168.164.10;Port=33061;User ID=root;Password=root;Initial Catalog=cccddd_mysqlconnector;Charset=utf8;SslMode=none;Max pool size=10") - .UseAutoSyncStructure(true) + //.UseConnectionFactory(FreeSql.DataType.MySql, () => new MySql.Data.MySqlClient.MySqlConnection("Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;")) + //.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=33061;User ID=root;Password=root;Initial Catalog=cccddd_mysqlconnector;Charset=utf8;SslMode=none;Max pool size=10") + .UseAutoSyncStructure(true) //.UseGenerateCommandParameterWithLambda(true) .UseMonitorCommand( cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " + cmd.CommandText) //监听SQL命令对象,在执行前 @@ -38,9 +38,9 @@ public class g { NpgsqlConnection.GlobalTypeMapper.UseLegacyPostgis(); return new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=2") - //.UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new Npgsql.NpgsqlConnection("Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;")) - .UseAutoSyncStructure(true) + .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=2") + //.UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new Npgsql.NpgsqlConnection("Host=127.0.0.1;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;")) + .UseAutoSyncStructure(true) //.UseGenerateCommandParameterWithLambda(true) .UseNameConvert(FreeSql.Internal.NameConvertType.ToLower) .UseLazyLoading(true) diff --git a/FreeSql.Tests/tests.playlist b/FreeSql.Tests/tests.playlist index 501f99ab..1de521d5 100644 --- a/FreeSql.Tests/tests.playlist +++ b/FreeSql.Tests/tests.playlist @@ -63,9 +63,6 @@ - - - diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 3b600f0d..7dcf590e 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -2272,7 +2272,11 @@ namespace FreeSql.Internal } while (expStack.Any()) { - if (firstValue == null) throw new Exception(CoreStrings.Cannot_Be_NULL_Name(exp)); + if (firstValue == null) + { + success = false; + return null; + } var expStackItem = expStack.Pop() as MemberExpression; if (expStackItem.Member.MemberType == MemberTypes.Property) firstValue = ((PropertyInfo)expStackItem.Member).GetValue(firstValue, null); diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs index d3de56e4..e90267da 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; //不需要转0/1 + return (bool)param ? "true" : "false"; //不需要转0/1 else if (param is string) return string.Concat("'", param.ToString().Replace("'", "''").Replace("\\", "\\\\"), "'"); //只有 mysql 需要处理反斜杠 else if (param is char)