FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

不同数据库之间获取序列值的方法是怎样的

Open chenhw opened this issue 6 months ago • 7 comments

不同数据库之间获取序列值的方法是怎样的,看了文档和issue没有查到,比如oracle的seq.NEXTVAL 和sql server 的next value

chenhw avatar Jun 22 '25 08:06 chenhw

使用 IsIdentity=true, InsertValueSql="seqname.nextval"

2881099 avatar Jun 22 '25 09:06 2881099

无法绑定由多个部分组成的标识符,会报这个错 @2881099

使用 IsIdentity=true, InsertValueSql="seqname.nextval"

chenhw avatar Jul 11 '25 06:07 chenhw

Imagesql server下生成的直接是Seq_BacterialCulture.nextval吗?哪里写的不对吗

chenhw avatar Jul 11 '25 06:07 chenhw

sqlserver 为什么不直接用自增?

2881099 avatar Jul 11 '25 07:07 2881099

数据迁移的问题,还有就是同一个业务系统有多个不同数据库版本的项目在运行。sql server 不支持 InsertValueSql="seqname.nextval"? @2881099

chenhw avatar Jul 11 '25 08:07 chenhw

而且还有同一套产品,不同的项目使用不同的数据库的情况

chenhw avatar Jul 29 '25 02:07 chenhw

可以用 faql.Ado.DataType 判断,做对应的 fluentapi 或者 aop 设置映射,不使用固定的实体类特性。

2881099 avatar Jul 29 '25 04:07 2881099