public static void WriteToTable <T>(IGenericDataReader <T> reader, string tableName, object value = null, string propertyName = null) { if (reader.HasRows()) { if (value != null && propertyName != null) { foreach (var listItem in reader.GetGenericList()) { PropertyInfo propInfo = listItem.GetType().GetProperty(propertyName); propInfo.SetValue(listItem, Convert.ChangeType(value, propInfo.PropertyType)); } } using (var con = new SqlConnection(StgConnectionString)) { using (var copy = new SqlBulkCopy(con)) { con.Open(); var mappings = GetDynamicBulkCopyColumnMapping <T>(); foreach (var m in mappings) { copy.ColumnMappings.Add(m); } copy.DestinationTableName = tableName; copy.BulkCopyTimeout = 30; copy.WriteToServer(reader); } } } }
public static void WriteToTable(IGenericDataReader reader, string tableName) { if (reader.HasRows()) { using (var con = new SqlConnection(ConnectionString)) { using (var copy = new SqlBulkCopy(con)) { con.Open(); copy.DestinationTableName = tableName; copy.BulkCopyTimeout = 3600; copy.WriteToServer(reader); } } } }
public static void WriteToTable <T>(IGenericDataReader reader, string tableName) { if (reader.HasRows()) { using (var con = new SqlConnection(ConnectionString)) { using (var copy = new SqlBulkCopy(con)) { con.Open(); var mappings = GetDynamicBulkCopyColumnMapping <T>(); foreach (var m in mappings) { copy.ColumnMappings.Add(m); } copy.DestinationTableName = tableName; copy.BulkCopyTimeout = 3600; copy.WriteToServer(reader); } } } }
public async Task WriteToDB <T>(IGenericDataReader <T> reader, CancellationToken token, string fullTableName) { await DataWriter.WriteDTO <T>(reader, token, fullTableName); }