Tyto anotace dat by měly stačit, možná to souvisí s poskytovatelem PostgreSQL.
Z dokumentace EF Core:
V závislosti na použitém poskytovateli databáze mohou být hodnoty generovány klientem vedle EF nebo v databázi. Pokud je hodnota generována databází, pak EF může přiřadit dočasnou hodnotu, když přidáte entitu do kontextu. Tato dočasná hodnota bude poté nahrazena hodnotou vygenerovanou v databázi během
SaveChanges
.
Můžete to také zkusit s touto konfigurací Fluent Api:
modelBuilder.Entity<Foo>()
.Property(f => f.Id)
.ValueGeneratedOnAdd();
Ale jak jsem řekl dříve, myslím, že to souvisí s poskytovatelem DB. Zkuste do DB přidat nový řádek a později zkontrolujte, zda byla vygenerována hodnota do Id
sloupec.