public async Task Can_add_new_entities_to_context_with_key_generation(bool async) { using (var context = new EarlyLearningCenter()) { var gu1 = new TheGu { ShirtColor = "Red" }; var gu2 = new TheGu { ShirtColor = "Still Red" }; if (async) { Assert.Same(gu1, (await context.Gus.AddAsync(gu1)).Entity); Assert.Same(gu2, (await context.Gus.AddAsync(gu2)).Entity); } else { Assert.Same(gu1, context.Gus.Add(gu1).Entity); Assert.Same(gu2, context.Gus.Add(gu2).Entity); } Assert.NotEqual(default(Guid), gu1.Id); Assert.NotEqual(default(Guid), gu2.Id); Assert.NotEqual(gu1.Id, gu2.Id); var categoryEntry = context.Entry(gu1); Assert.Same(gu1, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); categoryEntry = context.Entry(gu2); Assert.Same(gu2, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); } }
private static void TrackEntitiesWithKeyGenerationTest(Func <DbContext, TheGu, TheGu> adder) { using (var context = new EarlyLearningCenter()) { var gu1 = new TheGu { ShirtColor = "Red" }; var gu2 = new TheGu { ShirtColor = "Still Red" }; Assert.Same(gu1, adder(context, gu1)); Assert.Same(gu2, adder(context, gu2)); Assert.NotEqual(default(Guid), gu1.Id); Assert.NotEqual(default(Guid), gu2.Id); Assert.NotEqual(gu1.Id, gu2.Id); var categoryEntry = context.ChangeTracker.Entry(gu1); Assert.Same(gu1, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); categoryEntry = context.ChangeTracker.Entry(gu2); Assert.Same(gu2, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); } }
public async Task Can_add_new_entities_to_context_with_key_generation(bool async) { using var context = new EarlyLearningCenter(); var gu1 = new TheGu { ShirtColor = "Red" }; var gu2 = new TheGu { ShirtColor = "Still Red" }; if (async) { Assert.Same(gu1, (await context.Gus.AddAsync(gu1)).Entity); Assert.Same(gu2, (await context.Gus.AddAsync(gu2)).Entity); } else { Assert.Same(gu1, context.Gus.Add(gu1).Entity); Assert.Same(gu2, context.Gus.Add(gu2).Entity); } Assert.NotEqual(default, gu1.Id);
private static void TrackEntitiesWithKeyGenerationTest(Func<DbContext, TheGu, TheGu> adder) { using (var context = new EarlyLearningCenter(TestHelpers.Instance.CreateServiceProvider())) { var gu1 = new TheGu { ShirtColor = "Red" }; var gu2 = new TheGu { ShirtColor = "Still Red" }; Assert.Same(gu1, adder(context, gu1)); Assert.Same(gu2, adder(context, gu2)); Assert.NotEqual(default(Guid), gu1.Id); Assert.NotEqual(default(Guid), gu2.Id); Assert.NotEqual(gu1.Id, gu2.Id); var categoryEntry = context.Entry(gu1); Assert.Same(gu1, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); categoryEntry = context.Entry(gu2); Assert.Same(gu2, categoryEntry.Entity); Assert.Equal(EntityState.Added, categoryEntry.State); } }