【问题标题】:Adding a primary key into an existing table using Entity Framework Core使用 Entity Framework Core 将主键添加到现有表中
【发布时间】:2020-05-27 01:47:05
【问题描述】:

我有一个现有的填充表。使用 EF Core 迁移,我想创建一个 DB 生成的主键。

这是我的流畅 API:

modelBuilder.Entity<MyTable>()
    .HasKey(a => a.Id);

modelBuilder.Entity<MyTable>()
    .Property(p => p.Id)
    .ValueGeneratedOnAdd();

我遇到的问题是,当我运行迁移时,我收到一个错误,因为表中的现有行没有填充这个(新)字段:

The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.MyTable' and the index name 'PK_MyTable'. The duplicate key value is ().

有没有一种方法可以利用默认值来使用主键追溯填充此表?或者,是否有另一种方法可以追溯填充此字段?

【问题讨论】:

    标签: entity-framework .net-core entity-framework-core


    【解决方案1】:

    或者,是否有另一种方法可以追溯填充此字段?

    是的。但不是通过EF。在 EF 开始管理架构之前,您需要手动清理数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 2022-09-27
      • 2012-08-01
      • 2020-06-09
      • 1970-01-01
      相关资源
      最近更新 更多