en mi modelo tengo las siguientes funciones
Código C#:
Ver original
public bool grabarET2C(EscenarioEntity e,List<ET2CEntity> lista) { bool flagBorrado = ed.borrar(e); bool flag = false; for (int i = 0; i < lista.Count; i++) { flag = ed.insertar(lista[i]); } return true; } internal bool insertar(ET2CEntity o) { string sql = "insert into ET2C (id_modo,id_tipo,id_sub_tipo,id_tipo_escenario,id_escenario,id_ee,id_contaminante,id_magnitud,valor_et2c,fecha_et2c,id_region) values " + "('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');"; sql = string.Format(sql,o.Id_modo , o.Id_tipo , o.Id_sub_tipo , o.Id_tipo_escenario , o.Id_escenario , o.Id_ee , o.Id_contaminante , o.Id_magnitud , o.Valor_et2c.ToString() ,o.Fecha_etc2 ,o.Id_region ); return executeNonSql(sql); } private bool executeNonSql(string sql) { using (DbCommand cmd = db.GetSqlStringCommand(sql)) { int r = (int)db.ExecuteNonQuery(cmd); return (r > 0); } }
como veran, nada muy elaborado ni muy terrible.
ahora el problema es que en mi LISTA a insertar tengo 55 mil registros.
los que se estan demorando en insertar cerca de 20 minutos. :(
ahora bien, mi consulta en la siguiente.
¿como logro mejorar el tiempo en la insercion?
se puede responsabilizar solo al motor access que es muy basico para manejar tantos inserts?
o es algo que se puede arreglar mejorando el algoritmo de insercion?
de antemano muchas grcias!!!