MikaelEliasson / EntityFramework.Utilities

Provides extensions for EntityFramework that doesn't exist out of the box like delete and update by query and bulk inserts
443 stars 175 forks source link

El período de tiempo de espera caducó antes de completar la operación o el servidor no responde.] System.Data.SqlClient.SqlConnection.OnError #117

Open borisgr04 opened 6 years ago

borisgr04 commented 6 years ago

tengo un for de 100.000 iteraciones y por cada 10.000 ciclos se ejecuta el siguiente codigo

EFBatchOperation.For(ctx, ctx.LiquidacionPredial).InsertAll(listaLiquidacion); EFBatchOperation.For(ctx, ctx.DetalleLiquidacionPredial).InsertAll(listaDetalleLiquidacion); EFBatchOperation.For(ctx, ctx.Predial).UpdateAll( listaPrediosLiquidados, x => x.ColumnsToUpdate( c => c.Liquidado, c => c.Tarifa, c => c.Impuesto, c => c.FecMod, c => c.UsuMod ) );

        listaCarteraSujetoImpuestoNuevos.ForEach(t => t.CarterasPeriodosPredial = null);

        EFBatchOperation.For(ctx, ctx.CarterasSujetosImpuestoPredial).InsertAll(listaCarteraSujetoImpuestoNuevos);

        listaCarteraSujetoImpuestoActualizados.ForEach(t => t.CarterasPeriodosPredial = null);

        EFBatchOperation.For(ctx, ctx.CarterasSujetosImpuestoPredial).UpdateAll(
            listaCarteraSujetoImpuestoActualizados, 
            x => x.ColumnsToUpdate(
                c => c.ValorLiquidado,
                c => c.FecMod,
                c => c.UsuMod
                )
            );

        EFBatchOperation.For(ctx, ctx.Movimientos).InsertAll(listaMovimiento);

        listaCarteraPeriodo.ForEach(t => {
            t.CarterasConceptosPredial = null;
            t.CarteraSujetoImpuesto = null;
        });
        EFBatchOperation.For(ctx, ctx.CarterasPeriodosPredial).InsertAll(listaCarteraPeriodo);

        listaCarteraConcepto.ForEach(t => {
            t.CarteraPeriodo = null;
        });
        EFBatchOperation.For(ctx, ctx.CarterasConceptosPredial).InsertAll(listaCarteraConcepto);
        }