public string InitializeTimelinesParticipacion() { var db = new edayRoomEntities(); db.ClearParticipacion(); var mesas = db.Mesas.Include("Testigoes").ToList(); var tlParticipacion = new List<ParticipacionTimeline>(); var participacionList = new List<Participacion>(); foreach (var m in mesas) { tlParticipacion.Add(new ParticipacionTimeline { activa = true, id_mesa = m.id, fecha = DateTime.Now }); var testigo = m.Testigoes.FirstOrDefault(t => t.activo); participacionList.Add(new Participacion { active = true, id_mesa = m.id, fecha = DateTime.Now, cola = 0, conteo = 0, id_parent = null, id_testigo = testigo == null ? null : (int?)testigo.id }); } using ( var con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnSimple"].ConnectionString) ) { con.Open(); #region Participacion Timeline using (var tran = con.BeginTransaction()) { var bc = new SqlBulkCopy(con, SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.KeepNulls, tran) { BatchSize = 1000, DestinationTableName = "participacionTimeline" }; bc.WriteToServer(tlParticipacion.AsDataReader()); tran.Commit(); } #endregion #region Participacion Items using (var tran = con.BeginTransaction()) { var bc = new SqlBulkCopy(con, SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.KeepNulls, tran) { BatchSize = 1000, DestinationTableName = "participacion" }; bc.WriteToServer(participacionList.AsDataReader()); tran.Commit(); } #endregion con.Close(); } return "todo inicializado, bien"; }