Как вставить случайное значение, сгенерированное кодом C# во время миграции Entity Framework первого кода? Я добавил столбец серийных номеров с уникальным индексом. Серийные номера находятся в формате XXXYYYY-X, где X - число, а Y - алфавитный символ. Серийные номера не должны быть в последовательности, они просто должны быть случайными (в базе данных имеется небольшое количество записей, поэтому возможность генерации повторяющегося серийного номера мала).Вставить случайные значения во время миграции EF
Я попытался следующие:
AddColumn("dbo.Product", "SrNo", c => c.String(maxLength: 9, fixedLength: true, unicode: false, defaultValue: RandomSerialNo()));
... но миграция создает только один серийный номер и пытается вставить его для всех записей.
Вы нашли решение? Сейчас у меня очень похожая проблема. Я хочу добавить столбец электронной почты в таблицу пользователя и, очевидно, хочу, чтобы столбец был уникальным, но миграция завершилась неудачно из-за повторяющихся значений (либо множественных нулей, либо одной и той же случайной строки). – Christian
Собственно, нет. Мне пришлось разделить миграцию на две части - первая часть меняет столбец. Затем я вручную запускаю скрипт, который гарантирует уникальность данных. И затем я добавляю уникальное ограничение во вторую миграцию. – Storm