sql >> Database >  >> RDS >> PostgreSQL

Automatisch verhogen op gedeeltelijke primaire sleutel met Entity Framework Core

Welnu, die gegevensannotaties zouden het lukken, misschien is er iets gerelateerd aan de PostgreSQL-provider.

Uit EF Core-documentatie:

Afhankelijk van de databaseprovider die wordt gebruikt, kunnen waarden naast EF of in de database worden gegenereerd. Als de waarde wordt gegenereerd door de database, kan EF een tijdelijke waarde toewijzen wanneer u de entiteit aan de context toevoegt. Deze tijdelijke waarde wordt dan vervangen door de door de database gegenereerde waarde tijdens SaveChanges .

Je kunt het ook proberen met deze Fluent API-configuratie:

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

Maar zoals ik al eerder zei, ik denk dat dit iets te maken heeft met de DB-provider. Probeer een nieuwe rij aan uw DB toe te voegen en controleer later of er een waarde is gegenereerd voor de Id kolom.



  1. Voorkomen van aangrenzende/overlappende items met EXCLUDE in PostgreSQL

  2. Prestatieverrassingen en veronderstellingen:willekeurige TOP 1

  3. Hoe kan ik een ddl-script genereren (of krijgen) op een bestaande tabel in Oracle? Ik moet ze opnieuw maken in Hive

  4. Hoe de waitevent Geschiedenis van de Oracle-sessie te vinden