De där dataanteckningarna borde göra susen, kanske är något relaterat till PostgreSQL-leverantören.
Från EF Core-dokumentation:
Beroende på vilken databasleverantör som används kan värden genereras klientsida av EF eller i databasen. Om värdet genereras av databasen kan EF tilldela ett temporärt värde när du lägger till enheten i sammanhanget. Detta tillfälliga värde kommer sedan att ersättas av det databasgenererade värdet under
SaveChanges
.
Du kan också prova med denna Fluent Api-konfiguration:
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
Men som jag sa tidigare, jag tror att detta är något relaterat till DB-leverantören. Försök att lägga till en ny rad i din DB och kontrollera senare om det skapades ett värde till Id
kolumn.