我已创建迁移以更新一列中的值。迁移如下:
public partial class UpdateStatuses : DbMigration
{
public override void Up()
{
var updateSql = @"
BEGIN
UPDATE ARTICLE SET STATUS = CASE WHEN STATUS <> -1 THEN STATUS + 1 ELSE STATUS END,
STATUSPREV = CASE WHEN STATUSPREV <> -1 THEN STATUSPREV + 1 ELSE STATUSPREV END;
END;";
Sql(updateSql, true);
}
public override void Down()
{
var updateSql = @"
BEGIN
UPDATE ARTICLE SET STATUS = CASE WHEN STATUS <> -1 THEN STATUS - 1 ELSE STATUS END,
STATUSPREV = CASE WHEN STATUSPREV <> -1 THEN STATUSPREV - 1 ELSE STATUSPREV END;
END;";
Sql(updateSql, true);
}
}
迁移适用于较小的数据集,但此迁移设计为运行的表具有~11M的记录。因此,当我运行它时,它会抛出我的异常:
引擎任务ErrorOracle.ManagedDataAccess.Client.OracleException(0x00001FF1):ORA-08177:无法序列化此事务的访问权限 ORA-06512:第3行
我可以用这个做点什么吗?