EF Core перемещает данные столбца из таблицы в другую во время миграции (UP) - PullRequest
0 голосов
/ 24 октября 2019

Я обновил свою модель данных, удалив столбец из таблицы в другую, но у меня есть данные в этом столбце

Для этого я начал с добавления нового столбца в новую таблицу, и все готово.

Теперь Я хочу перенести данные столбца из старой таблицы в новую, я думаю сделать это в методе Up(MigrationBuilder migrationBuilder), но я неНе знаю правильный подход.

Итак, я спрашиваю, знает ли кто-нибудь, откуда я могу начать.

Спасибо всем!

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Например, у нас есть таблица A и таблица B.

В моих проектах я выполняю трехэтапную процедуру:

  1. Создание миграции для добавления нового столбца в таблицу B (в Up() часть). В Down() части I добавляется код для удаления этого столбца в таблице B.
  2. Создание миграции для переноса данных из таблицы A в таблицу B (в части Up()). В Down() части I добавляется код для переноса данных из таблицы B в таблицу A.
  3. Создание миграции для удаления столбца в таблице A (в части Up()). В Down() части я добавляю код для создания столбца в таблице А.
1 голос
/ 24 октября 2019

В методе миграции Up() вы можете написать собственный SQL, используя функцию migrationBuilder.Sql() - это обычно способ обработки данных, переносимых из одного столбца в другой или в данном случае между таблицами.

Имейте в виду, конечно, что все выполняется по порядку, поэтому вам понадобится sql для запуска между добавляемым столбцом и отбрасываемым другим.

В равной степени ради безопасности и сохранения вещей в обратном направлениисовместимый в Down() аспектах, вы также должны включить SQL, который делает обратное, чтобы вы всегда могли откатиться позже

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