После заполнения данных в коде EFCore 3.1.1, возможно ли установить значение идентификатора на последний вставленный идентификатор + 1? - PullRequest
0 голосов
/ 12 февраля 2020

Итак, я сею некоторых пользователей Identity Server с Id 1,2,3 и 4 соответственно. После попытки вставить нового пользователя после запуска приложения, я должен «попытаться» вставить 4 раза, прежде чем ID будет установлен на 5, и я могу начать вставку без ошибок.

Я пытался найти ответ, но потерпел неудачу. Вопрос - это выполнимый через Code-First подход, с использованием ModelBuilder или запроса к базе данных после того, как заполнение выполнено?

Кроме того, я использую PostgreSQL базу данных с подходом сначала кода в Asp Net Базовое приложение.

РЕДАКТИРОВАТЬ: Кроме того, здесь перечислены все ограничения столбца идентификатора, которые показывают, что это столбец идентификатора.

enter image description here

1 Ответ

0 голосов
/ 14 февраля 2020

Я нашел более правильное исправление, чем установка отрицательных значений в записях базы данных.

// Set starting value to start after seeded data count. Must be done
// to any entity, that can be added to from application logic.
builder.Entity<SomeTable>()
    .Property(b => b.YourIdProperty)
    .HasIdentityOptions(startValue: seededDataCount + 1);

Это для postgreSQL, но должно действительно работать аналогично для других реализаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...