我正在使用EF迁移,并且有一个包含大量数据的表。我需要更改具体列的MaxLength (它没有长度约束)。
ALTER TABLE MyDb ALTER COLUMN [MyColumn] [nvarchar](2) NULL如果出现TimeOut异常,此命令将失败。试图设置CommandTimeout i nDbContext构造函数,但没有任何结果。
是否有任何方法禁用或设置包管理器控制台EF命令的超时?
发布于 2015-09-01 11:43:12
我自己找到了解决办法。
由于EF5,有一个新的属性CommandTimeout,它可以从DbMigrationsConfiguration获得
internal sealed class MyMigrationConfiguration : DbMigrationsConfiguration<MyDbContext>
{
public Configuration()
{
CommandTimeout = 10000; // migration timeout
}
}发布于 2016-10-10 10:44:03
另一种方法是使用
Update-Database -script然后,您可以使用对数据库运行脚本。
发布于 2016-11-30 20:52:45
我只是有几乎完全相同的事情:超时过期时,试图增加一列长度。对我来说,使用update-database一小时前一直很好。这个问题被证明是我试图修改的数据库和表上的一个开放事务。一旦回滚该事务,update-database命令就会顺利完成。
https://stackoverflow.com/questions/32330603
复制相似问题