Eh bien, ces annotations de données devraient faire l'affaire, peut-être est-ce lié au fournisseur PostgreSQL.
À partir de la documentation EF Core :
Selon le fournisseur de base de données utilisé, les valeurs peuvent être générées côté client par EF ou dans la base de données. Si la valeur est générée par la base de données, EF peut attribuer une valeur temporaire lorsque vous ajoutez l'entité au contexte. Cette valeur temporaire sera alors remplacée par la valeur générée par la base de données lors de
SaveChanges
.
Vous pouvez également essayer avec cette configuration Fluent Api :
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
Mais comme je l'ai dit plus tôt, je pense que c'est quelque chose lié au fournisseur de base de données. Essayez d'ajouter une nouvelle ligne à votre base de données et vérifiez plus tard si une valeur a été générée pour le Id
colonne.