PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Incremento automatico su chiave primaria parziale con Entity Framework Core

Bene, quelle annotazioni dei dati dovrebbero fare il trucco, forse è qualcosa correlato al provider PostgreSQL.

Dalla documentazione di EF Core:

A seconda del provider di database utilizzato, i valori possono essere generati lato client da EF o nel database. Se il valore è generato dal database, EF può assegnare un valore temporaneo quando aggiungi l'entità al contesto. Questo valore temporaneo verrà quindi sostituito dal valore generato dal database durante SaveChanges .

Potresti anche provare con questa configurazione di Fluent Api:

modelBuilder.Entity<Foo>()
            .Property(f => f.Id)
            .ValueGeneratedOnAdd();

Ma come ho detto prima, penso che questo sia qualcosa di correlato al provider di DB. Prova ad aggiungere una nuova riga al tuo DB e controlla in seguito se è stato generato un valore per l'Id colonna.