9

我正在使用 EF Core 2.2,使用代码优先方法。

我有我的实体类:

public class Client
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int ClientID { get; set; }
    public string Name { get; set; }
}

我正在像这样播种我的数据:

var client = new Client { Name = "TestClient"};
modelBuilder.Entity<Client>().HasData(client);

但是在尝试添加迁移时收到错误消息:

无法添加实体类型“客户端”的种子实体,因为属性“客户端 ID”需要非零值。考虑提供一个负值以避免与非种子数据发生冲突。

应该是自动生成的ClientID,我不想指定它。是否有解决方法或者这个功能还没有实现?

4

1 回答 1

14

对于种子数据,您必须指定密钥。否则它将不知道要确保哪个记录在那里。它记录在这里

于 2019-02-21T15:16:00.363 回答