PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Automatisches Inkrement bei partiellem Primärschlüssel mit Entity Framework Core

Nun, diese Datenanmerkungen sollten ausreichen, vielleicht hängt etwas mit dem PostgreSQL-Provider zusammen.

Aus der EF Core-Dokumentation:

Je nach verwendetem Datenbankanbieter können Werte clientseitig von EF oder in der Datenbank generiert werden. Wenn der Wert von der Datenbank generiert wird, kann EF einen temporären Wert zuweisen, wenn Sie die Entität zum Kontext hinzufügen. Dieser temporäre Wert wird dann während SaveChanges durch den von der Datenbank generierten Wert ersetzt .

Sie können es auch mit dieser Fluent-Api-Konfiguration versuchen:

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

Aber wie ich bereits sagte, denke ich, dass dies etwas mit dem DB-Anbieter zu tun hat. Versuchen Sie, Ihrer Datenbank eine neue Zeile hinzuzufügen, und prüfen Sie später, ob ein Wert für die Id generiert wurde Spalte.