コード例 #1
0
 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);
             }
         }
     }
 }
コード例 #2
0
 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);
             }
         }
     }
 }
コード例 #3
0
 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);
             }
         }
     }
 }
コード例 #4
0
 public async Task WriteToDB <T>(IGenericDataReader <T> reader, CancellationToken token, string fullTableName)
 {
     await DataWriter.WriteDTO <T>(reader, token, fullTableName);
 }