I have an ASP.NET Core application that use SQL Server and EF Core. It contains two tables. I successfully created an Entity Framework Core migration and updated the database with it for the first table called Pies
.
Then after I added another table called Feedbacks
, I created a second migration.
However, when I attempt to update the database, it fails and I get this error:
Error Number:2714,State:6,Class:16
There is already an object named 'Pies' in the database.
Here is the DbContext
class:
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
public DbSet<Pie> Pies { get; set; }
public DbSet<Feedback> Feedbacks { get; set; }
}
Since you have messed up the record history of EF Core migrations by deleting a migration file and your snapshot is tainted as well because you re-ran the migrations after deleting one.
Here are the steps you should take:
In the future to avoid these error's use a version control system like git
. And before creating any migrations commit. Note you will need to remove the incorrectly applied migration to your database from the _EfMigrations
table in your database, since git doesn't version control your database.
This error occurs when there is a difference between the data in the database table and the files in the database.
You most likely created the database once and then deleted the migraine folder
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With