public virtual async Task Seeding_keyless_entity_throws_exception(bool async) { var exception = await Assert.ThrowsAsync <InvalidOperationException>( async() => { using var context = CreateKeylessContextWithEmptyDatabase(); TestStore.Clean(context); var _ = async ? await context.Database.EnsureCreatedResilientlyAsync() : context.Database.EnsureCreatedResiliently(); }); Assert.Equal(CoreStrings.SeedKeylessEntity(nameof(KeylessSeed)), exception.Message); }
public virtual TContext CreateContext( Action <MySqlDbContextOptionsBuilder> jetOptions = null, Action <IServiceProvider, DbContextOptionsBuilder> options = null, Action <ModelBuilder> model = null) { var context = new TContext(); context.Initialize( TestStore.Name, command => SqlCommands.Add(command.CommandText), model: model, options: options, mySqlOptions: jetOptions); TestStore.Clean(context); return(context); }
public virtual async Task Seeding_does_not_leave_context_contaminated(bool async) { using var context = CreateContextWithEmptyDatabase(async ? "1A" : "1S"); TestStore.Clean(context); var _ = async ? await context.Database.EnsureCreatedResilientlyAsync() : context.Database.EnsureCreatedResiliently(); Assert.Empty(context.ChangeTracker.Entries()); var seeds = context.Set <Seed>().OrderBy(e => e.Id).ToList(); Assert.Equal(2, seeds.Count); Assert.Equal(321, seeds[0].Id); Assert.Equal("Apple", seeds[0].Species); Assert.Equal(322, seeds[1].Id); Assert.Equal("Orange", seeds[1].Species); }