dotnetcore / FreeSql

🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, DuckDB orm, TDengine orm, QuestDB orm, MsAccess orm.
https://dotnetcore.github.io/FreeSql/
MIT License
4.11k stars 857 forks source link

postgresql中int2到bool类型的映射 #1805

Closed cfires closed 1 month ago

cfires commented 5 months ago

使用场景

postgresql中的数据类型为int2(通过sqlserver数据库迁移到postgresql,原bit被转换为int2,其中值为0和1),如果代码中标记bool类型,数据库中为int,可否生成代码时生成IS_DELETED=0或1的形式,而不是IS_DELETED='f' 或't'?当代码类型为bool,数据库类型也为bool时,还是生成postgresql风格的IS_DELETED='f' 或't'。

/// <summary>
/// 是否删除
/// </summary>
[Column(Name = "IS_DELETED", Position = -9)]
public bool IsDeleted { get; set; } = false;
2881099 commented 5 months ago

代码生成为 int 解决吧。

hjkl950217 commented 4 months ago

同上,建议不要弄这种骚操作,让实体的类型尽量对应数据库的类型比较好。 你可以增加一个部分类,然后再加一个nomap的属性,里面的get set强转一下。 这样方便代码开发,也不影响实体生成