Welnu, die gegevensannotaties zouden het lukken, misschien is er iets gerelateerd aan de PostgreSQL-provider.
Uit EF Core-documentatie:
Afhankelijk van de databaseprovider die wordt gebruikt, kunnen waarden naast EF of in de database worden gegenereerd. Als de waarde wordt gegenereerd door de database, kan EF een tijdelijke waarde toewijzen wanneer u de entiteit aan de context toevoegt. Deze tijdelijke waarde wordt dan vervangen door de door de database gegenereerde waarde tijdens SaveChanges
.
Je kunt het ook proberen met deze Fluent API-configuratie:
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
Maar zoals ik al eerder zei, ik denk dat dit iets te maken heeft met de DB-provider. Probeer een nieuwe rij aan uw DB toe te voegen en controleer later of er een waarde is gegenereerd voor de Id
kolom.