如何使用 EF Core Code First 在 Oracle DB 中使用自动递增 ID 播种数据

问题描述 投票:0回答:0

在将 Oracle DB 与 EF Core 和数据库种子一起使用时,我遇到了自动生成主键值的问题。

示例实体:

public class State : IBaseEntity, ILastEdited
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
}

然后在

OnModelCreating
方法中我有这个实体的数据种子:

modelBuilder.Entity<State>().HasData(new[]
        {
            new State{ Id = 1, SomeOtherProeprty = "Some value"},
        });

问题是,当部署到 MS SQL 时,种子已经完成并且通过应用程序插入的新实体很好。

部署到 Oracle DB 时,当用户第一次向 State 实体表插入新行时,它因 PK 违规而崩溃,之后,它运行正常。

如何确保 Oracle 从 2 开始自动递增?

我有多个带有初始数据库种子的表,所以我需要一些系统的东西? 谢谢你的帮助。

oracle entity-framework-core ef-code-first
© www.soinside.com 2019 - 2024. All rights reserved.