Commit Graph

11320 Commits

Author SHA1 Message Date
大石头 352a4cfe98 [fix]修正pg建表时布尔型字段的默认值 2024-09-29 01:07:37 +08:00
大石头 63581dd88c 数据列取消IsArray属性,直接在Type中体现 2024-09-29 00:56:05 +08:00
大石头 ee268c8a70 User新增两个字段,调整它们的中文描述 2024-09-29 00:34:24 +08:00
大石头 e0519ca0b5 调整代码生成,基础类型的读写占据主流地位,如非必要不修改针对基础类型的代码生成,避免下游应用项目使用新版代码生成器时导致所有实体类代码产生变化。 2024-09-28 23:56:40 +08:00
大石头 0ae84404b0 实体列表批量操作时,所涉及的字段列表记入埋点,方便分析问题,特别是使用BatchUpsert来实现批量Update时。 2024-09-28 11:23:31 +08:00
大石头 901e2a3cd2 Merge branch 'master' into dev 2024-09-28 09:48:17 +08:00
Soar360 02c9a5de1a
Merge pull request #47 from Soar360/master
改善对 postgresql 的支持
2024-09-24 16:08:03 +08:00
Soar360 bbd6c19093 [fix]反向工程时,对关键字列的支持不到位导致列匹配不上。 2024-09-24 16:07:27 +08:00
Soar360 24dbcca027 [fix]TableItem.FindByName 时没有查询 FormatedName 字段,导致以下划线命名的字段没有正确映射到实体。 2024-09-23 23:34:35 +08:00
Soar360 283fc5219e [fix] npgsql 在插入、查询数组时,如果不为空则需要明确元素类型。 2024-09-23 21:41:56 +08:00
Soar360 8613c2bc41
Merge pull request #46 from Soar360/fix_unit_test
Fix unit test
2024-09-22 18:46:23 +08:00
Soar360 2c609cc674 修复单元测试
[fix] SqlTests
[fix] NegativeTests
2024-09-20 17:11:56 +08:00
Soar360 d6147f3748 修正 Byte[] 类型被错误识别为数组造成的问题。 2024-09-20 16:32:36 +08:00
Soar360 3d8f6f56b5 重新生成实体模型 2024-09-20 16:15:34 +08:00
Stone 15a4ac9b12
Merge pull request #42 from Soar360/fix-negative-underline
优化 CheckColumnsChange 方法中的列名处理逻辑
2024-09-20 15:51:09 +08:00
Stone e67e5ce217
Merge pull request #40 from Soar360/pg_name_strategy
PostgreSQL 实现 DefaultNameFormat 属性返回 NameFormats.Underline
2024-09-20 15:50:56 +08:00
Soar360 8f1ccd250a 优化 CheckColumnsChange 方法中的列名处理逻辑
将 entitytable.Columns 的字典键从 ColumnName.ToLower() 改为 this.FormatName(e)。
在检查新增列时,判断条件从 !dbdic.ContainsKey(item.ColumnName.ToLower()) 改为 !dbdic.ContainsKey(this.FormatName(item))。
在删除列的部分,判断条件从 !etdic.ContainsKey(item.ColumnName.ToLower()) 改为 !etdic.ContainsKey(item.ColumnName)。
在遍历 entitytable.Columns 时,判断条件从 !dbdic.TryGetValue(item.ColumnName, out var dbf) 改为 !dbdic.TryGetValue(this.FormatName(item), out var dbf)。
2024-09-20 10:39:00 +08:00
Soar360 6d3f8855fc 实现 DefaultNameFormat 属性返回 NameFormats.Underline
在 PostgreSQL 类中增加了 DefaultNameFormat 属性的实现,
该属性返回 NameFormats.Underline。
2024-09-20 09:15:27 +08:00
Stone 4dbc09cbee
Merge pull request #39 from Soar360/pg_name_strategy
Pg name strategy
2024-09-20 00:13:21 +08:00
Soar360 fe027965d0 优化 FormatName 方法逻辑并使用继承注释
删除了 `FormatName` 方法的注释,并用 `inheritdoc` 标签替代,以继承基类的注释。
修改了 `FormatName` 方法的实现逻辑:
  * 原来的实现是无论如何都给名称加上双引号。
  * 新的实现是只有在名称包含大写字符时才加上双引号,否则保持原样。
2024-09-19 22:09:01 +08:00
Soar360 7f63cfbf48 添加 DefaultNameFormat 属性并优化名称格式化逻辑
在 DbBase 抽象类中添加了虚属性 DefaultNameFormat,用于获取数据库引擎默认的反向工程表名、字段名大小写设置,默认值为 NameFormats.None。修改了表名和字段名的格式化逻辑,只有当表名或字段名与其名称相同时才进行格式化处理。引入 DefaultNameFormat 属性,当 NameFormat 不为 NameFormats.Default 时,使用 NameFormat,否则使用 DefaultNameFormat。使用 ToUpperInvariant 和 ToLowerInvariant 方法替代原来的 ToUpper 和 ToLower 方法。

在 IDatabase 中的 NameFormats 枚举中,添加了一个新的枚举值 None,表示保持原样,并将 Default 的描述从“原样”改为“默认”。

在 Setting 类中,更新了 NameFormat 属性的描述,详细说明了各个枚举值的含义:Default 表示默认(由数据库决定),None 表示与模型保持一致,Upper 表示全大写,Lower 表示全小写,Underline 表示下划线格式。
2024-09-19 22:05:34 +08:00
大石头 9104feda01 [fix]修正Int64自增字段返回值加入埋点时的转换错误 2024-09-18 21:45:12 +08:00
Soar360 c1a9c59ab9
Merge pull request #37 from NewLifeX/pgsql_array
Pgsql array
2024-09-18 10:13:47 +08:00
Stone ff19e1dd6d
Merge pull request #36 from Fat-Snail/master
完善了DAL需要重置表检查的需求
2024-09-18 09:37:00 +08:00
Fat Snail 6cc3c1bdb5
Update DAL.cs
完善了DAL需要重置表检查的需求,适用于删表需要再次创建表的操作
2024-09-18 09:34:10 +08:00
大石头 dcdd997f55 v11.16使用v11新版IPacket/ICache 2024-09-17 10:17:53 +08:00
大石头 70ab9c7142 合并 2024-09-17 09:57:25 +08:00
Soar360 758899a5da
Merge pull request #35 from Soar360/pgsql_array
[fix]pgsql在拼接 Upsert 语句时多输出了逗号。
2024-09-16 16:54:21 +08:00
Soar360 a3a1506daa [fix]pgsql在拼接 Upsert 语句时多输出了逗号。
空数组时,使用 '{}' 代替 ARRAY[] 。用于抑制以下报错
42P18: cannot determine type of empty array
2024-09-16 16:00:33 +08:00
Soar360 0074ea1a57
Merge pull request #34 from Soar360/pgsql_array
Pgsql array
2024-09-14 10:51:50 +08:00
Soar360 a15d532252 PostgreSQLSession.Upsert 2024-09-14 10:33:27 +08:00
Soar360 6f90ce153f pgsql 支持从数据库推导 C# 数组类型 2024-09-13 21:57:48 +08:00
Soar360 97a9818e3d PostgreSQL 支持获取表和列的注释。 2024-09-13 21:41:54 +08:00
Soar360 2d73587d8a autoincrementing eight-byte integer 2024-09-13 20:56:40 +08:00
Soar360 c88bab9d99 优化 Byte[] 类型的处理 2024-09-13 20:44:58 +08:00
Soar360 dc2e7b6d17 PostgreSQL.FormatValue 2024-09-13 13:12:21 +08:00
Soar360 eb07bccfa7 支持创建数组字段 2024-09-13 11:16:58 +08:00
Soar360 b1c96a9f00 数组实现#33
重构并扩展 ValidHelper 类的方法

重构了 `ToStringArray` 方法为通用的 `ToArray<T>` 方法,并添加了 `converter` 参数用于类型转换。删除了原有的 `ToStringArray` 方法,改为调用新的 `ToArray<T>` 方法。新增了多个类型转换方法,如 `ToInt32Array`、`ToInt64Array`、`ToDoubleArray` 等,这些方法都调用了 `ToArray<T>` 方法。此外,新增了 `ToEnum<T>` 和 `ToObject<T>` 方法,用于将对象转换为枚举类型和指定的引用类型。
2024-09-11 17:38:00 +08:00
Soar360 a2eddb530c 完善并简化 ValidHelper 的实现 2024-09-11 17:15:41 +08:00
Soar360 9146a8acb5 [fet]EntityBuilder 生成实体类时支持数组
[fet]新增 ValidHelper 用于类型转换
2024-09-11 16:47:57 +08:00
Soar360 9c4e870b02 为 BindColumnAttribute 增加 IsArray 属性。
#33
2024-09-11 12:07:11 +08:00
Soar360 d0661e8a1f [fet] EntityBase 的 CheckEqual 增加对数组的 2024-09-11 11:46:36 +08:00
大石头 470a519706 Upgrade Nuget 2024-09-11 11:11:11 +08:00
大石头 d0c4a90b52 Merge branch 'master' of https://github.com/NewLifeX/NewLife.XCode 2024-09-10 19:52:44 +08:00
大石头 747d6fa4c4 [fix]修正CopyFrom无法拷贝数据库查询对象的问题 2024-09-10 19:52:12 +08:00
Soar360 84de516ce3 [fix]pgsql 在进行 InsertAndGetIdentity 时,不能固定写死 RETURNING id,因为自增列名称是不固定的。正确的做法是将自增列通过参数传递进来,但对代码的调整较大。故参照人大金仓的实现,使用 RETURNING * 。 2024-09-10 16:45:39 +08:00
Soar360 1636b3accb [fix]pgsql 字符串字段,入库时要进行转义。 2024-09-10 16:31:35 +08:00
Soar360 2e8cdec0b3 [fix]pgsql 如果创建表时,主键的字段名也要格式化。 2024-09-10 16:20:57 +08:00
大石头 07ad12c42a 优化使用分表的埋点名,支持没有下划线的分表方式,只要末尾是数字即可 2024-09-09 18:21:23 +08:00
大石头 9d2bf5a3a6 自动分表策略,支持单一时间日期的分表,例如分表字段DataTime,记录日期,查询时仅指定某一天 2024-09-06 22:26:54 +08:00