PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Автоматично увеличаване на частичен първичен ключ с Entity Framework Core

Е, тези анотации на данни трябва да свършат работа, може би е нещо свързано с доставчика на PostgreSQL.

От документацията на EF Core:

В зависимост от използвания доставчик на база данни, стойностите могат да бъдат генерирани от клиента до EF или в базата данни. Ако стойността е генерирана от базата данни, тогава EF може да присвои временна стойност, когато добавите обекта към контекста. След това тази временна стойност ще бъде заменена от стойността, генерирана от базата данни по време на SaveChanges .

Можете също да опитате с тази конфигурация на Fluent Api:

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

Но както казах по-рано, мисля, че това е нещо свързано с доставчика на DB. Опитайте да добавите нов ред към вашата DB и проверете по-късно дали е генерирана стойност за Id колона.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails 3.1:Запитване на Postgres за записи в рамките на времеви диапазон

  2. Няма уникално ограничение или ограничение за изключване, съответстващо на ON CONFLICT

  3. Postgres се проваля с „не може да се отвори файлът за съпоставяне на релации global/pg_filenode.map“

  4. Предайте множество стойности в един параметър

  5. Еволюция на отказоустойчивостта в PostgreSQL:Фаза на репликация