首页 > 解决方案 > 使用 Entity Framework Core 迁移更新表以添加 Auto_Increment

问题描述

我有一个带有一些表的 ASP.Net Core 项目,已经与 EF Core 链接。我在创建数据库时犯了一个错误,忘记在 PK 上添加自动增量,所以当我尝试添加一些数据时,我不能,因为 EF 试图插入一个空值。我试过用一张表手动修改自动增量为1,没关系。

但是我在多台计算机上工作,所以我的问题是:我可以创建一个迁移文件来更新我的其他表并在他们的 PK 上添加 auto_increment 吗?

谢谢

标签: c#asp.netsql-serverentity-framework-core

解决方案


您可以.UseSqlServerIdentityColumn()通过 Fluent API 使用,然后添加迁移。

虽然如果不提供当前配置代码就很难进行演示,但这里有一个示例,它可能看起来像这样:

public class BaseEntityTypeConfiguration<TEntity> : IEntityTypeConfiguration<TEntity> where TEntity : BaseEntity
{
    public virtual void Configure(EntityTypeBuilder<TEntity> entityTypeBuilder)
    {
        entityTypeBuilder.Property(x => x.Id)
                         .UseSqlServerIdentityColumn();
    }
}

资源


推荐阅读