public override void BulkSaveInStaging(IEnumerable <T> sources) { var sqlBulkCopy = new SqlBulkCopy(OpenAndGetSqlConnection(), SqlBulkCopyOptions.Default, null); sqlBulkCopy.DestinationTableName = SqlStagingTableName; sqlBulkCopy.BatchSize = sources.Count(); foreach (var element in PropertiesToBulkLoad) { sqlBulkCopy.ColumnMappings.Add(base.PropertyGetters[element.Name].Name, element.SqlServer().ColumnName); } var dataReader = new ObjectDataReader(sources, new ObjectDataReaderConfig { EfProperties = PropertiesToBulkLoad, Types = new[] { base.BaseType }, Context = Context, TempColumnNumOrderName = null }); sqlBulkCopy.WriteToServer(dataReader); }
public override void BulkSaveInStaging(IEnumerable <T> entities) { var sqlBulkCopy = new SqlBulkCopy(OpenAndGetSqlConnection(), SqlBulkCopyOptions.Default, null); sqlBulkCopy.DestinationTableName = SqlStagingTableName; sqlBulkCopy.BatchSize = entities.Count(); foreach (var element in PropertiesToBulkLoad) { sqlBulkCopy.ColumnMappings.Add(element.Name, element.SqlServer().ColumnName); } sqlBulkCopy.ColumnMappings.Add(TempColumnNumOrderName, TempColumnNumOrderName); var dataReader = new ObjectDataReader(entities, new ObjectDataReaderConfig { EfProperties = PropertiesToBulkLoad, Types = EntityTypes, Context = Context, TempColumnNumOrderName = TempColumnNumOrderName }); //sqlBulkCopy.EnableStreaming = true; sqlBulkCopy.WriteToServer(dataReader); }