private async Task RunUpdateAsync(bool isBulkOperation) { using (var context = new TestContext(ContextUtil.GetOptions())) { int counter = 1; var entities = AllItemsQuery(context).ToList(); foreach (var entity in entities) { entity.Description = "Desc Update " + counter++; entity.TimeUpdated = DateTime.Now; } if (isBulkOperation) { await context.BulkUpdateAsync(entities); } else { context.Items.UpdateRange(entities); await context.SaveChangesAsync(); } } using (var context = new TestContext(ContextUtil.GetOptions())) { int entitiesCount = ItemsCountQuery(context); Item lastEntity = LastItemQuery(context); Assert.Equal(EntitiesNumber, entitiesCount); Assert.NotNull(lastEntity); Assert.Equal("Desc Update " + EntitiesNumber, lastEntity.Description); } }
private async Task RunUpdateAsync(bool isBulkOperation) { using (var context = new TestContext(ContextUtil.GetOptions())) { int counter = 1; var entities = context.Items.AsNoTracking().ToList(); foreach (var entity in entities) { entity.Name = "name Update " + counter++; entity.TimeUpdated = DateTime.Now; } if (isBulkOperation) { await context.BulkUpdateAsync(entities); } else { context.Items.UpdateRange(entities); await context.SaveChangesAsync(); } } using (var context = new TestContext(ContextUtil.GetOptions())) { int entitiesCount = context.Items.Count(); Item lastEntity = context.Items.LastOrDefault(); Assert.Equal(EntitiesNumber, entitiesCount); Assert.NotNull(lastEntity); Assert.Equal("name Update " + EntitiesNumber, lastEntity.Name); } }
private async Task RunUpdateAsync(bool isBulkOperation, DbServer databaseType) { using (var context = new TestContext(ContextUtil.GetOptions())) { int counter = 1; var entities = AllItemsQuery(context).ToList(); foreach (var entity in entities) { entity.Description = "Desc Update " + counter++; entity.TimeUpdated = DateTime.Now; } if (isBulkOperation) { var bulkConfig = new BulkConfig() { SetOutputIdentity = true, CalculateStats = true }; await context.BulkUpdateAsync(entities, bulkConfig); if (databaseType == DbServer.SqlServer) { Assert.Equal(0, bulkConfig.StatsInfo.StatsNumberInserted); Assert.Equal(EntitiesNumber, bulkConfig.StatsInfo.StatsNumberUpdated); Assert.Equal(0, bulkConfig.StatsInfo.StatsNumberDeleted); } } else { context.Items.UpdateRange(entities); await context.SaveChangesAsync(); } } using (var context = new TestContext(ContextUtil.GetOptions())) { //int entitiesCount = ItemsCountQuery(context); int entitiesCount = await context.Items.CountAsync(); //Item lastEntity = LastItemQuery(context); Item lastEntity = context.Items.OrderByDescending(a => a.ItemId).FirstOrDefault(); Assert.Equal(EntitiesNumber, entitiesCount); Assert.NotNull(lastEntity); Assert.Equal("Desc Update " + EntitiesNumber, lastEntity.Description); } }