Ошибка при вставке новой записи в базу данных через Entity Framework при наличии начальных данных

Генерируется база данных с начальными данными.

protected override void OnModelCreating(ModelBuilder modelBuilder) {         modelBuilder.Entity<Chair>().HasData(         new Chair[]         {             new Chair {Id = 1, Name = "ПМИ" },             new Chair {Id = 2, Name = "АСОИУ" },             new Chair {Id = 3, Name = "ИЯ" },             new Chair {Id = 4, Name = "СИБ" }         });          base.OnModelCreating(modelBuilder);          modelBuilder.ApplyConfiguration(new ChairConfiguration());     } }  public class ChairConfiguration : IEntityTypeConfiguration<Chair> {     public void Configure(EntityTypeBuilder<Chair> builder)     {         builder.HasKey(c => c.Id);         builder.Property(c => c.Name).IsRequired();     } } 

Потом в программе считывается файл, где может оказаться, что нет необходимой записи в базе данных, тогда ее туда нужно добавить.

private int GetChairIndex(string chairName) {         using (ApplicationContext db = new ApplicationContext())         {             if (db.Chairs.Where(c => c.Name == chairName).ToList().Count() == 0)             {                 var chair = new Chair(chairName);                 db.Chairs.Add(chair);                 db.SaveChanges();             }             return db.Chairs.Where(c => c.Name == chairName).Single().Id;         } } 

На этом этапе выскакивает исключение из-за повторения ключа (Id). Причем при первом запуске происходит попытка новой записи присвоить Id = 1, при каждом следующем запуске Id увеличивается каким-то магическим образом. В итоге, на пятой попытке происходит успешное добавление. Почему Entity Framework сразу не может понять, какой Id нужно присвоить новой записи?