I have this code on my OnModelCreating method:
// Users
modelBuilder.Entity<User>().ToTable(name: "Users", schema: "Core");
modelBuilder.Entity<User>().HasKey(x => x.Id);
// Seeder
modelBuilder.Entity<User>().HasData(MigrationSeeder.Seed());
When I generate migration, EF create insert operation like this:
migrationBuilder.InsertData(
schema: "Core",
table: "Users",
columns: new[] { "Id", "FirstName", "LastName" },
values: new object[] { "6c6aa94903a4", "Rick", "Sánchez" });
All right!
But.. when I generate another migration, EF repeat this insert operation (before deleting rows and after, inserting the new rows)
migrationBuilder.DeleteData(
schema: "Core",
table: "Users",
keyColumn: "Id",
keyValue: "6c6aa94903a4");
migrationBuilder.InsertData(
schema: "Core",
table: "Users",
columns: new[] { "Id", "FirstName", "LastName" },
values: new object[] { "d055353aa45c", "Rick", "Sánchez" });
If this entities corresponding with master tables and database has related rows in another tables.
How can avoid insert in every migration?