I have an ASP.NET Core project. I am using the database first approach with SQL Server and generated my models using EF Core.
I want the primary key to be auto incremented. Everything seems to work fine on the first entry in which it defaults my primary key (PimId) to 0. However, on the second insertion, the primary key remains 0.
My onModelCreate function
modelBuilder.Entity<ImportPim>(entity =>
{
entity.HasKey(e => e.PimId);
entity.ToTable("Import_PIM");
entity.Property(e => e.PimId)
.HasColumnName("PIM_Id")
.ValueGeneratedNever();
entity.Property(e => e.CliId).HasColumnName("CLI_Id");
entity.Property(e => e.PimAccountNumber)
.HasColumnName("PIM_AccountNumber")
.HasMaxLength(50)
.IsUnicode(false);
This was generated by EF Core, I have tried changing ValueGeneratedNever() to ValueGeneratedOnAdd() but I get a saving error in SQL Server.
Any suggestions on how to do?
OnModelCreatingOnModelCreatingsince you are using DB first. You need to set the primary key AUTO_INCREMENT in sql server, then re-generate the models.