/// <summary> /// 批量保存多表 /// </summary> /// <param name="dt1"></param> /// <param name="TableName"></param> /// <returns></returns> public void SqlBatchCopy(Dictionary <DataTable, string> dt, ref string str) { try { using (IDbConnection conn = dbF.CreateConnection()) { if (conn.State != ConnectionState.Open) { conn.Open(); } IDbTransaction trans = conn.BeginTransaction(); foreach (var item in dt) { using (SqlBulkCopy copy = new SqlBulkCopy((SqlConnection)conn, SqlBulkCopyOptions.Default, (SqlTransaction)trans)) { for (int i = 0; i < item.Key.Columns.Count; i++) { copy.ColumnMappings.Add(item.Key.Columns[i].ColumnName, item.Key.Columns[i].ColumnName); } copy.DestinationTableName = item.Value; copy.WriteToServer(item.Key); } } trans.Commit(); } } catch (Exception ex) { str = "添加失败"; LogNet.ErrorInfo(ex.ToString()); throw; } }