I got this error recently while playing with EF Core 2. There’s very little on Google about it; although it’s not a hugely difficult problem to solve, if I ever get it again, I can just Google it !
The error:
System.InvalidOperationException: ‘The seed entity for entity type ‘MyEntity’ cannot be added because another seed entity with the same key value for {‘Id’} has already been added. Consider using ‘DbContextOptionsBuilder.EnableSensitiveDataLogging’ to see the conflicting key values.’
If effectively cause by a conflict in the primary key; and it gives you the first step towards solving it in the error (in OnModelCreating):
var options =
new DbContextOptionsBuilder<ApplicationDbContext>()
.UseSqlServer(configuration.GetConnectionString("DefaultConnection"))
.EnableSensitiveDataLogging()
.Options;
Now it says:
System.InvalidOperationException: ‘The seed entity for entity type ‘MyEntity’ cannot be added because another seed entity with the key value ‘Id:1’ has already been added.’
In my particular case, I’d been playing around with adding some seed data, and had left this in (OnModelCreating):
modelBuilder.Entity<MyEntity>().HasData(new Data.MyEntity()
{
Id = 1,
Name = "Test",
CreatedDate = new DateTime(2018, 07, 03),
UpdatedDate = new DateTime(2018, 07, 03)
});