前言
PostgreSQL 是世界公认的功能最强大的开源数据库,除了基础数据类型 int4/int8/varchar/numeric/timestamp 等,还支持 int4[]/int8[]/varchar[]/numeric[]/timestamp[] 数组类型、hstore 类型(类似 c# Dictionary<string, string>)、gis 类型。
选择一项技术一定是可以帮助我们提升效率,并且使用一定是非常简便的,才能让我们赚取更多时间,早点下班甚至上班摸鱼。这篇文章主要讲数组类型,如何与 FreeSql 打出简便高效的【组合拳】。
PostgreSQL 可以为每一种类型创建数组,比如 int4 对应的数组类型是 int4[]、varchar 对应的数据类型是 varchar[]。
PostgreSQL 虽然支持多维数组,但是不建议使用,因为实际使用中会带来很多操作麻烦,违背了使用简便的初衷。一维数组足够应付很多场景。
FreeSql 本身已经支持五种导航属性,OneToOne/ManyToOne/OneToMany/ManyToMany/Parent,为它们量身打造了级联保存、贪婪加载、延迟加载、级联删除(递归)、CTE递归查询等功能。
今天 FreeSql 为 PostgreSQL Array 数组类型提供了第六种新的导航属性 PgArrayToMany 专属功能。
数组映射
FreeSql 支持 int[] 映射 int4[]
string[] 映射 varchar[]
DateTime[] 映射 timestamp[]
class Model
{
public Guid Id { get; set; }
public int[] TypeIds { get; set; }
public Guid[] UserIds { get; set; }
}

本文介绍了PostgreSQL数据库的数组类型及其在FreeSql ORM中的应用,特别是新增的PgArrayToMany导航属性,支持对数组类型的级联查询、贪婪加载等功能。FreeSql为PostgreSQL的数组类型提供了便捷的操作,简化了多维数组的使用,同时具备丰富的表达式函数、批量操作及多种数据库支持。
最低0.47元/天 解锁文章
3867

被折叠的 条评论
为什么被折叠?



