public void TestAddEntityWithHashSets() { //SETUP var options = SqliteInMemory.CreateOptions <Chapter14DbContext>(); using var context = new Chapter14DbContext(options); context.Database.EnsureCreated(); AddHashSet(context, 1, false); AddHashSet(context, 100, false); AddHashSet(context, 1000, false); context.ChangeTracker.Clear(); //ATTEMPT AddHashSet(context, 1000); AddHashSet(context, 4000, false); AddHashSet(context, 1000); AddHashSet(context, 4000, false); AddHashSet(context, 1000); AddHashSet(context, 9000, false); AddHashSet(context, 1000); AddHashSet(context, 1000); //VERIFY }
private void AddMyEntities(Chapter14DbContext context, int numToAdd) { var list = new List <MyEntity>(); for (int i = 0; i < numToAdd; i++) { list.Add(new MyEntity()); } context.AddRange(list); context.SaveChanges(); }
public void TestOneAddAndSaveChanges() { //SETUP var options = this.CreateUniqueClassOptions <Chapter14DbContext>(); using var context = new Chapter14DbContext(options); context.Database.EnsureClean(); //ATTEMPT using (new TimeThings(_output, "One Add and one SaveChanges")) { var list = new List <MyEntity>(); for (int i = 0; i < 100; i++) { list.Add(new MyEntity()); } context.AddRange(list); context.SaveChanges(); } using (new TimeThings(_output, "One Add and one SaveChanges")) { var list = new List <MyEntity>(); for (int i = 0; i < 100; i++) { list.Add(new MyEntity()); } context.AddRange(list); context.SaveChanges(); } using (new TimeThings(_output, "One Add and one SaveChanges")) { var list = new List <MyEntity>(); for (int i = 0; i < 100; i++) { list.Add(new MyEntity()); } context.AddRange(list); context.SaveChanges(); } //VERIFY }
private void AddHashSet(Chapter14DbContext context, int numRelations, bool showResults = true) { var count = context.ChangeTracker.Entries <SubEntity2>().Count(); var entity = new MyEntity(); for (int i = 0; i < numRelations; i++) { entity.HashSets.Add(new SubEntity2()); } using (new TimeThings(result => { if (showResults) { _output.WriteLine(result.ToString()); } }, $"Add: HasSet. #tracked = {count}", numRelations)) { context.Add(entity); } }
public void TestTimeTakenWithDifferentTracked(int numTracked) { //SETUP var options = SqliteInMemory.CreateOptions <Chapter14DbContext>(); using var context = new Chapter14DbContext(options); context.Database.EnsureCreated(); AddMyEntities(context, numTracked); //ATTEMPT using (new TimeThings(_output, $"{numTracked} tracked")) { context.Add(new MyEntity()); context.SaveChanges(); } using (new TimeThings(_output, $"{numTracked} tracked")) { context.Add(new MyEntity()); context.SaveChanges(); } using (new TimeThings(_output, $"{numTracked} tracked")) { context.Add(new MyEntity()); context.SaveChanges(); } using (new TimeThings(_output, $"{numTracked} tracked")) { context.Add(new MyEntity()); context.SaveChanges(); } context.ChangeTracker.DetectChanges(); //VERIFY }
public void TestIndividualSaveChanges() { //SETUP var options = this.CreateUniqueClassOptions <Chapter14DbContext>(); using var context = new Chapter14DbContext(options); context.Database.EnsureClean(); //ATTEMPT using (new TimeThings(_output, "individual")) { for (int i = 0; i < 100; i++) { context.Add(new MyEntity()); context.SaveChanges(); } } using (new TimeThings(_output, "individual")) { for (int i = 0; i < 100; i++) { context.Add(new MyEntity()); context.SaveChanges(); } } using (new TimeThings(_output, "individual")) { for (int i = 0; i < 100; i++) { context.Add(new MyEntity()); context.SaveChanges(); } } //VERIFY }