From 563f695d09deadcd29809a185745848f21d998d4 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Fri, 10 Dec 2021 19:07:48 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E6=AD=A3=20=E5=8D=95=E8=AF=8D?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E9=94=99=E8=AF=AF=20Coment=20->=20Comment?= =?UTF-8?q?=EF=BC=9B#958?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FreeSql.Generator/RazorContentManager.cs | 8 +- FreeSql.sln | 2 +- FreeSql/DatabaseModel/DBColumnInfo.cs | 11 +- FreeSql/FreeSql.xml | 407 ++++++++---------- .../ClickHouseDbFirst.cs | 2 +- .../FreeSql.Provider.Dameng/DamengDbFirst.cs | 2 +- .../FirebirdDbFirst.cs | 2 +- .../KingbaseESDbFirst.cs | 2 +- .../FreeSql.Provider.MySql/MySqlDbFirst.cs | 2 +- .../Dameng/OdbcDamengDbFirst.cs | 2 +- .../KingbaseES/OdbcKingbaseESDbFirst.cs | 2 +- .../MySql/OdbcMySqlDbFirst.cs | 2 +- .../Oracle/OdbcOracleDbFirst.cs | 2 +- .../PostgreSQL/OdbcPostgreSQLDbFirst.cs | 2 +- .../SqlServer/OdbcSqlServerDbFirst.cs | 2 +- .../FreeSql.Provider.Oracle/OracleDbFirst.cs | 2 +- .../PostgreSQLDbFirst.cs | 2 +- .../ShenTongDbFirst.cs | 2 +- .../SqlServerDbFirst.cs | 2 +- .../FreeSql.Provider.Sqlite/SqliteDbFirst.cs | 2 +- 20 files changed, 219 insertions(+), 241 deletions(-) diff --git a/Extensions/FreeSql.Generator/RazorContentManager.cs b/Extensions/FreeSql.Generator/RazorContentManager.cs index a52036a6..a9e87243 100644 --- a/Extensions/FreeSql.Generator/RazorContentManager.cs +++ b/Extensions/FreeSql.Generator/RazorContentManager.cs @@ -63,9 +63,9 @@ namespace @gen.NameSpace { @foreach (var col in gen.columns) { - if (string.IsNullOrEmpty(col.Coment) == false) { + if (string.IsNullOrEmpty(col.Comment) == false) { @:/// - @:/// @col.Coment.Replace(""\r\n"", ""\n"").Replace(""\n"", ""\r\n /// "") + @:/// @col.Comment.Replace(""\r\n"", ""\n"").Replace(""\n"", ""\r\n /// "") @:/// } @:@(""[JsonProperty"" + GetAttributeString(gen.GetColumnAttribute(col, true)) + ""]"") @@ -154,9 +154,9 @@ namespace @gen.NameSpace { var findfks = fks.Where(fkaa => fkaa.Columns.Where(fkaac1 => fkaac1.Name == col.Name).Any()); var csname = gen.GetCsName(col.Name); - if (string.IsNullOrEmpty(col.Coment) == false) { + if (string.IsNullOrEmpty(col.Comment) == false) { @:/// - @:/// @col.Coment.Replace(""\r\n"", ""\n"").Replace(""\n"", ""\r\n /// "") + @:/// @col.Comment.Replace(""\r\n"", ""\n"").Replace(""\n"", ""\r\n /// "") @:/// } @:@(""[JsonProperty"" + GetAttributeString(gen.GetColumnAttribute(col, true)) + ""]"") diff --git a/FreeSql.sln b/FreeSql.sln index a6d59db1..a06a0ed3 100644 --- a/FreeSql.sln +++ b/FreeSql.sln @@ -101,7 +101,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution README.zh-CN.md = README.zh-CN.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeSql.Provider.ClickHouse", "Providers\FreeSql.Provider.ClickHouse\FreeSql.Provider.ClickHouse.csproj", "{86C56235-5D37-4422-807B-B31681C7D01C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.ClickHouse", "Providers\FreeSql.Provider.ClickHouse\FreeSql.Provider.ClickHouse.csproj", "{86C56235-5D37-4422-807B-B31681C7D01C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/FreeSql/DatabaseModel/DBColumnInfo.cs b/FreeSql/DatabaseModel/DBColumnInfo.cs index 1c5b9949..ffb297c6 100644 --- a/FreeSql/DatabaseModel/DBColumnInfo.cs +++ b/FreeSql/DatabaseModel/DBColumnInfo.cs @@ -45,9 +45,18 @@ namespace FreeSql.DatabaseModel /// public bool IsNullable { get; set; } /// + /// 备注,早期编码时少按了一个字母,请使用 Comment + /// + [Obsolete("早期编码时少按了一个字母,请使用 Comment")] + public string Coment + { + get => Comment; + set => Comment = value; + } + /// /// 备注 /// - public string Coment { get; set; } + public string Comment { get; set; } /// /// 数据库默认值 /// diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index 4a1de744..9d76236e 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -515,6 +515,11 @@ + + 备注,早期编码时少按了一个字母,请使用 Comment + + + 备注 @@ -3186,6 +3191,177 @@ + + + 测试数据库是否连接正确,本方法执行如下命令: + MySql/SqlServer/PostgreSQL/达梦/人大金仓/神通: SELECT 1 + Oracle: SELECT 1 FROM dual + + 命令超时设置(秒) + + true: 成功, false: 失败 + + + + 查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】 + + + + + + + + + + 查询,ExecuteReaderAsync(dr => {}, "select * from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 查询 + + + + + + + + + 查询,ExecuteArrayAsync("select * from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 查询 + + + + + + + + + 查询,ExecuteDataSetAsync("select * from user where age > @age; select 2", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 查询 + + + + + + + + + 查询,ExecuteDataTableAsync("select * from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 在【主库】执行 + + + + + + + + + 在【主库】执行,ExecuteNonQueryAsync("delete from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 在【主库】执行 + + + + + + + + + 在【主库】执行,ExecuteScalarAsync("select 1 from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new SqlParameter { ParameterName = "age", Value = 25 }) + + + + + + + + + + + 执行SQL返回对象集合,QueryAsync<User>("select * from user where age > @age", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + + + 执行SQL返回对象集合,Query<User>("select * from user where age > @age; select * from address", new SqlParameter { ParameterName = "age", Value = 25 }) + + + + + + + + + + + + 执行SQL返回对象集合,Query<User, Address>("select * from user where age > @age; select * from address", new { age = 25 }) + 提示:parms 参数还可以传 Dictionary<string, object> + + + + + + + + 可自定义解析表达式 @@ -4080,6 +4256,12 @@ 超时 + + + 获取资源 + + + 使用完毕后,归还资源 @@ -4150,6 +4332,12 @@ 资源对象 + + + 从对象池获取对象成功的时候触发,通过该方法统计或初始化对象 + + 资源对象 + 归还对象给对象池的时候触发 @@ -4773,222 +4961,3 @@ -ystem.Boolean}})"> - - 使用 and 拼接两个 lambda 表达式 - - - true 时生效 - - - - - - 使用 or 拼接两个 lambda 表达式 - - - - - - 使用 or 拼接两个 lambda 表达式 - - - true 时生效 - - - - - - 将 lambda 表达式取反 - - - true 时生效 - - - - - 使用 and 拼接两个 lambda 表达式 - - - - - - 使用 and 拼接两个 lambda 表达式 - - - true 时生效 - - - - - - 使用 or 拼接两个 lambda 表达式 - - - - - - 使用 or 拼接两个 lambda 表达式 - - - true 时生效 - - - - - - 将 lambda 表达式取反 - - - true 时生效 - - - - - 生成类似Mongodb的ObjectId有序、不重复Guid - - - - - - 插入数据 - - - - - - - 插入数据,传入实体 - - - - - - - - 插入数据,传入实体数组 - - - - - - - - 插入数据,传入实体集合 - - - - - - - - 插入数据,传入实体集合 - - - - - - - - 插入或更新数据,此功能依赖数据库特性(低版本可能不支持),参考如下: - MySql 5.6+: on duplicate key update - PostgreSQL 9.4+: on conflict do update - SqlServer 2008+: merge into - Oracle 11+: merge into - Sqlite: replace into - 达梦: merge into - 人大金仓:on conflict do update - 神通:merge into - MsAccess:不支持 - 注意区别:FreeSql.Repository 仓储也有 InsertOrUpdate 方法(不依赖数据库特性) - - - - - - - 修改数据 - - - - - - - 修改数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} - - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 - - - - - 查询数据 - - - - - - - 查询数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} - - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 - - - - - 删除数据 - - - - - - - 删除数据,传入动态条件,如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1} - - - 主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合 - - - - - 开启事务(不支持异步) - v1.5.0 关闭了线程事务超时自动提交的机制 - - 事务体 () => {} - - - - 开启事务(不支持异步) - v1.5.0 关闭了线程事务超时自动提交的机制 - - - 事务体 () => {} - - - - 数据库访问对象 - - - - - 所有拦截方法都在这里 - - - - - CodeFirst 模式开发相关方法 - - - - - DbFirst 模式开发相关方法 - - - - - 全局过滤设置,可默认附加为 Select/Update/Delete 条件 - - - - diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseDbFirst.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseDbFirst.cs index 92e57371..bbb44fff 100644 --- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseDbFirst.cs +++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseDbFirst.cs @@ -299,7 +299,7 @@ where {(ignoreCase ? "lower(a.table_schema)" : "a.table_schema")} in ({databaseI DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Dameng/DamengDbFirst.cs b/Providers/FreeSql.Provider.Dameng/DamengDbFirst.cs index 613dbda5..148c5148 100644 --- a/Providers/FreeSql.Provider.Dameng/DamengDbFirst.cs +++ b/Providers/FreeSql.Provider.Dameng/DamengDbFirst.cs @@ -406,7 +406,7 @@ where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}) and {loc8} DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Firebird/FirebirdDbFirst.cs b/Providers/FreeSql.Provider.Firebird/FirebirdDbFirst.cs index fa7fb0f0..94929e43 100644 --- a/Providers/FreeSql.Provider.Firebird/FirebirdDbFirst.cs +++ b/Providers/FreeSql.Provider.Firebird/FirebirdDbFirst.cs @@ -267,7 +267,7 @@ order by a.rdb$relation_name, a.rdb$field_position DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs b/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs index bf079acd..a4968d86 100644 --- a/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs +++ b/Providers/FreeSql.Provider.KingbaseES/KingbaseESDbFirst.cs @@ -306,7 +306,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname") DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs b/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs index 2591ac38..5cc547c3 100644 --- a/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs +++ b/Providers/FreeSql.Provider.MySql/MySqlDbFirst.cs @@ -314,7 +314,7 @@ where {(ignoreCase ? "lower(a.table_schema)" : "a.table_schema")} in ({databaseI DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengDbFirst.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengDbFirst.cs index 844a5b0a..ca9e5eff 100644 --- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengDbFirst.cs @@ -406,7 +406,7 @@ where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}) and {loc8} DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs index 006d7f34..b8b29c0f 100644 --- a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESDbFirst.cs @@ -307,7 +307,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname") DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs index e3996d91..c1e9254f 100644 --- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlDbFirst.cs @@ -280,7 +280,7 @@ where {(ignoreCase ? "lower(a.table_schema)" : "a.table_schema")} in ({databaseI DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleDbFirst.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleDbFirst.cs index c77317cf..7d78ee67 100644 --- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleDbFirst.cs @@ -379,7 +379,7 @@ where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}) and {loc8} DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs index ef6fc7bf..56ed17ae 100644 --- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLDbFirst.cs @@ -322,7 +322,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname") DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerDbFirst.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerDbFirst.cs index 7c95ad8e..df5cfbba 100644 --- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerDbFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerDbFirst.cs @@ -329,7 +329,7 @@ from sys.parameters", loc88.ToString().Replace("a.table_name", "a.object_id"), " DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Oracle/OracleDbFirst.cs b/Providers/FreeSql.Provider.Oracle/OracleDbFirst.cs index e44f30f4..ecd21de4 100644 --- a/Providers/FreeSql.Provider.Oracle/OracleDbFirst.cs +++ b/Providers/FreeSql.Provider.Oracle/OracleDbFirst.cs @@ -379,7 +379,7 @@ where {(ignoreCase ? "lower(a.owner)" : "a.owner")} in ({databaseIn}) and {loc8} DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs index 96ebf9bb..64e06c47 100644 --- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs +++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLDbFirst.cs @@ -432,7 +432,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname") DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs index 0f9ce722..f26e9592 100644 --- a/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs +++ b/Providers/FreeSql.Provider.ShenTong/ShenTongDbFirst.cs @@ -325,7 +325,7 @@ where {loc8.ToString().Replace("a.table_name", "ns.nspname || '.' || c.relname") DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerDbFirst.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerDbFirst.cs index 828214f4..2f501014 100644 --- a/Providers/FreeSql.Provider.SqlServer/SqlServerDbFirst.cs +++ b/Providers/FreeSql.Provider.SqlServer/SqlServerDbFirst.cs @@ -332,7 +332,7 @@ from sys.parameters", loc88.ToString().Replace("a.table_name", "a.object_id"), " DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[object_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = ++position }); diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteDbFirst.cs b/Providers/FreeSql.Provider.Sqlite/SqliteDbFirst.cs index 2faf4291..c1b5eb56 100644 --- a/Providers/FreeSql.Provider.Sqlite/SqliteDbFirst.cs +++ b/Providers/FreeSql.Provider.Sqlite/SqliteDbFirst.cs @@ -204,7 +204,7 @@ namespace FreeSql.Sqlite DbTypeText = type, DbTypeTextFull = sqlType, Table = loc2[table_id], - Coment = comment, + Comment = comment, DefaultValue = defaultValue, Position = position });