时间:2021-07-01 10:21:17 帮助过:95人阅读
主键的序列配置如下:
entityBuilder.Property(e => e.UserId)
.HasColumnName("USER_ID")
.UseHiLo("SEQ_SYSUSER");在插入的时候,第一次可以看到执行了一条生成序列的语句:
SELECT "SEQ_SYSUSER".NEXTVAL FROM DUAL
后面的9次都不会再生成这条语句,第11次的时候会重新执行上面的语句,造成第11次的主键与第2次的重复,与oracle官方沟通几个回合,没解决问题,在翻阅微软的文档时,发现如下的代码
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence("OrderNumbers");
modelBuilder.Entity()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR shared.OrderNumbers");
}在代码中加入“modelBuilder.HasSequence
OrderNumbers为序列名称
.net 5.0 使用oracle.entityframeworkcore 5.21.1 插入数据时生成序列的问题解决
标签:使用 services tps sof comm ddd 拦截器 doc ring