Команда "Обновление-База данных" не работает с исключением TimeOut
Я использую EF-миграции и имею таблицу с большим количеством данных. Мне нужно изменить MaxLength конкретного столбца (у него не было ограничений длины).
ALTER TABLE MyDb ALTER COLUMN [MyColumn] [nvarchar](2) NULL
И эта команда выходит из строя с исключением TimeOut.
Пытался установить конструктор CommandTimeout я nDbContext без везения.
Можно ли отключить или настроить тайм-аут для команд EF для диспетчера пакетов?
Ответы
Ответ 1
Найден решение самостоятельно.
Так как EF5 существует новое свойство CommandTimeout, доступное из DbMigrationsConfiguration
internal sealed class MyMigrationConfiguration : DbMigrationsConfiguration<MyDbContext>
{
public Configuration()
{
CommandTimeout = 10000; // migration timeout
}
}
Ответ 2
В качестве альтернативы script внесите изменения с помощью
Update-Database -script
Затем вы можете взять script и запустить его с помощью SQL Management Studio в базе данных.
Ответ 3
У меня было почти то же самое: время ожидания истекло при попытке увеличить длину столбца. Для меня использование update-database
работало всего лишь час назад. Проблема оказалась открытой транзакцией в базе данных и таблице, которую я пытался изменить. Как только я откатил эту транзакцию, команда update-database
прошла без проблем.