Nå, disse dataanmærkninger burde gøre det trick, måske er noget relateret til PostgreSQL-udbyderen.
Fra EF Core-dokumentation:
Afhængigt af databaseudbyderen, der bruges, kan værdier genereres klient side af EF eller i databasen. Hvis værdien er genereret af databasen, kan EF tildele en midlertidig værdi, når du føjer entiteten til konteksten. Denne midlertidige værdi vil derefter blive erstattet af den databasegenererede værdi under SaveChanges
.
Du kan også prøve med denne Fluent Api-konfiguration:
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
Men som jeg sagde tidligere, tror jeg, det er noget, der er relateret til DB-udbyderen. Prøv at tilføje en ny række til din DB og tjek senere, om der blev genereret en værdi til Id
kolonne.