Entity Framework Core с функциями PostgreSQL и SEQUENCE - PullRequest
0 голосов
/ 16 июня 2020

Я привык к миру SQL серверов, где, если бы я хотел создать таблицу «следующего числа» для использования во многих сеансах, я бы, вероятно, использовал какой-то столбец INT IDENTITY (1,1) AUTO INCREMENT в таблице с одной строкой и просто жестко контролируйте транзакционный доступ, чтобы убедиться, что каждый, кто запрашивает идентификатор, получил уникальный следующий доступный.

Однако сейчас я работаю с Entity Framework Core и PostgreSQL , и столкнулись с функциями SEQUENCE и nextval. Звучит идеально для этого требования, но я не понимаю или не уверен, что произойдет с этой таблицей, если я попытаюсь представить ее в EF Core. Я использую метод Database first и сгенерировал все свои модели из существующих таблиц, когда начинал. Если мне нужно добавить новый столбец, я просто добавляю его вручную в свой код EF, и если мне нужно сделать что-то более фундаментальное, например новую таблицу, я повторно запускаю команду командной строки EF Core CLI db scaffold, ссылаясь на специфику c таблица в качестве параметра.

Потому что эта таблица «ПОСЛЕДОВАТЕЛЬНОСТЬ» - серверу SQL вроде меня - кажется особенной PostgreSQL вуду, может ли кто-нибудь объяснить , как эта таблица будет выглядеть, если я попытаюсь выстроить ее из база данных ? Будет ли он отображаться как обычная табличная модель / объект? Потребуется ли что-то особенное , потому что я хочу иметь возможность выбирать из этой таблицы, чтобы получить следующий доступный номер (иногда из многих сеансов, идущих быстро)?

...