public static Task BulkDeleteAsync(this DbContext context, Type entityType, IList <object> entities, Action <BulkConfig> bulkAction, Action <decimal> progress = null, CancellationToken cancellationToken = default) { BulkConfig bulkConfig = new BulkConfig(); bulkAction?.Invoke(bulkConfig); return(DbContextBulkTransaction.ExecuteAsync(context, entityType, entities, OperationType.Delete, bulkConfig, progress, cancellationToken)); }
public static Task BulkInsertAsync <T>(this DbContext context, IList <T> entities, Action <BulkConfig> bulkAction, Action <decimal> progress = null) where T : class { BulkConfig bulkConfig = new BulkConfig(); bulkAction?.Invoke(bulkConfig); return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Insert, bulkConfig, progress)); }
public static Task BulkReadAsync <T>(this DbContext context, IList <T> entities, Action <BulkConfig> bulkAction, Action <decimal> progress = null, CancellationToken cancellationToken = default) where T : class { BulkConfig bulkConfig = new BulkConfig(); bulkAction?.Invoke(bulkConfig); return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Read, bulkConfig, progress, cancellationToken)); }
public static Task BulkUpdateAsync <TSource>(this DbContext context, IList <TSource> entities, List <string> updateProp, List <string> keyProp, Action <BulkConfig> bulkAction = null, CancellationToken cancellationToken = default) where TSource : class { BulkConfig bulkConfig = new BulkConfig(); bulkConfig.UpdateByProperties = keyProp; bulkConfig.PropertiesToInclude = updateProp; bulkAction?.Invoke(bulkConfig); return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Update, bulkConfig, null, cancellationToken)); }
public static Task BatchInsertAsync <T>(this IQueryable query, IList <T> entities, BulkConfig bulkConfig = null, CancellationToken cancellationToken = default) where T : class { var context = BatchUtil.GetDbContext(query); return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Insert, bulkConfig, null, cancellationToken)); }
public static Task BulkReadAsync <T>(this DbContext context, IList <T> entities, BulkConfig bulkConfig = null, Action <decimal> progress = null) where T : class { return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Read, bulkConfig, progress)); }
// Async methods public static Task BulkInsertAsync <T>(this DbContext context, IList <T> entities, BulkConfig bulkConfig = null, Action <decimal> progress = null, CancellationToken cancellationToken = default) where T : class { return(DbContextBulkTransaction.ExecuteAsync(context, entities, OperationType.Insert, bulkConfig, progress, cancellationToken)); }
public static Task TruncateAsync <T>(this DbContext context, CancellationToken cancellationToken = default) where T : class { return(DbContextBulkTransaction.ExecuteAsync <T>(context, new List <T>(), OperationType.Truncate, null, null, cancellationToken)); }
public static Task TruncateAsync(this DbContext context, Type entityType, CancellationToken cancellationToken = default) { return(DbContextBulkTransaction.ExecuteAsync(context, entityType, new List <object>(), OperationType.Truncate, null, null, cancellationToken)); }
public static Task BulkReadAsync(this DbContext context, Type entityType, IList <object> entities, BulkConfig bulkConfig = null, Action <decimal> progress = null, CancellationToken cancellationToken = default) { return(DbContextBulkTransaction.ExecuteAsync(context, entityType, entities, OperationType.Read, bulkConfig, progress, cancellationToken)); }
// Async methods public static Task BulkInsertAsync <T>(this DbContext context, IEnumerable <T> entities, BulkConfig bulkConfig = null, Action <decimal> progress = null) where T : class { return(DbContextBulkTransaction.ExecuteAsync(context, entities.ToList(), OperationType.Insert, bulkConfig, progress)); }
public static Task BulkSaveChangesAsync(this DbContext context, BulkConfig bulkConfig = null, Action <decimal> progress = null, CancellationToken cancellationToken = default) { return(DbContextBulkTransaction.ExecuteAsync(context, typeof(object), new List <object>(), OperationType.SaveChanges, bulkConfig, progress, cancellationToken)); }