Есть ли способ создать две записи в отдельных таблицах базы данных sql, которые связаны внешним ключом? - PullRequest
2 голосов
/ 22 января 2020

В настоящее время я пытаюсь создать запись в таблице SQL, используя ASP. NET Core и LINQ, а затем создать записи в другой таблице, где эти новые записи имеют внешний ключ, указывающий на первую запись, которая у меня есть. только что создан.

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

Все это запускается как фоновое задание, используя Hangfire .

1 Ответ

0 голосов
/ 22 января 2020

Если вы говорите просто о SQL, я бы создал триггер, который соответствует условиям в таблицах для обновления соответствующих записей, так как я не вижу никакого кода, я не могу дать вам кусок кода , Для получения дополнительной информации: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15.

Я думаю, что проблема в том, что в то время, когда ваши проблемные записи c вводятся в базу данных, внешние ключи (первичный ключ в другая таблица) еще не установлены, они еще не имеют значения.

Если вы используете платформу сущностей, ее можно отсортировать или добавить триггеры в базу данных, чтобы при создании записи вы могли заглянуть в другую таблицу и получить ее первичный ключ (внешний ключ). и измени его

...