public override InheritanceRelationshipsContext CreateContext(SqlCeTestStore testStore) { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseSqlCe(testStore.Connection); var context = new InheritanceRelationshipsContext(_serviceProvider, optionsBuilder.Options); context.Database.UseTransaction(testStore.Transaction); return(context); }
public override InheritanceRelationshipsContext CreateContext(SqliteTestStore testStore) { var optionsBuilder = new DbContextOptionsBuilder() .UseSqlite(testStore.Connection) .UseInternalServiceProvider(_serviceProvider); var context = new InheritanceRelationshipsContext(optionsBuilder.Options); context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; context.Database.UseTransaction(testStore.Transaction); return(context); }
public override SqliteTestStore CreateTestStore() => SqliteTestStore.GetOrCreateShared( nameof(InheritanceRelationshipsQuerySqliteTest), () => { var optionsBuilder = new DbContextOptionsBuilder() .UseSqlite(SqliteTestStore.CreateConnectionString(nameof(InheritanceRelationshipsQuerySqliteTest))) .UseInternalServiceProvider(_serviceProvider); using (var context = new InheritanceRelationshipsContext(optionsBuilder.Options)) { context.Database.EnsureClean(); InheritanceRelationshipsModelInitializer.Seed(context); } });
public override SqlServerTestStore CreateTestStore() { return(SqlServerTestStore.GetOrCreateShared(DatabaseName, () => { var optionsBuilder = new DbContextOptionsBuilder() .UseSqlServer(_connectionString, b => b.ApplyConfiguration()) .UseInternalServiceProvider(_serviceProvider); using (var context = new InheritanceRelationshipsContext(optionsBuilder.Options)) { context.Database.EnsureCreated(); InheritanceRelationshipsModelInitializer.Seed(context); } })); }
public static void Seed(InheritanceRelationshipsContext context) { var baseCollectionsOnBase = InheritanceRelationshipsData.CreateBaseCollectionsOnBase(); var baseCollectionsOnDerived = InheritanceRelationshipsData.CreateBaseCollectionsOnDerived(); var baseEntities = InheritanceRelationshipsData.CreateBaseEntities(); var baseReferencesOnBase = InheritanceRelationshipsData.CreateBaseReferencesOnBase(); var baseReferencesOnDerived = InheritanceRelationshipsData.CreateBaseReferencesOnDerived(); var collectionsOnBase = InheritanceRelationshipsData.CreateCollectionsOnBase(); var collectionsOnDerived = InheritanceRelationshipsData.CreateCollectionsOnDerived(); var nestedCollections = InheritanceRelationshipsData.CreateNestedCollections(); var nestedReferences = InheritanceRelationshipsData.CreateNestedReferences(); var principalEntities = InheritanceRelationshipsData.CreatePrincipalEntities(); var referencedEntities = InheritanceRelationshipsData.CreateReferencedEntities(); var referencesOnBase = InheritanceRelationshipsData.CreateReferencesOnBase(); var referencesOnDerived = InheritanceRelationshipsData.CreateReferencesOnDerived(); InheritanceRelationshipsData.WireUp( baseEntities, baseReferencesOnBase, baseReferencesOnDerived, referencesOnBase, referencesOnDerived, nestedReferences, baseCollectionsOnBase, baseCollectionsOnDerived, collectionsOnBase, collectionsOnDerived, nestedCollections); context.BaseCollectionsOnBase.AddRange(baseCollectionsOnBase); context.BaseCollectionsOnDerived.AddRange(baseCollectionsOnDerived); context.BaseEntities.AddRange(baseEntities); context.BaseReferencesOnBase.AddRange(baseReferencesOnBase); context.BaseReferencesOnDerived.AddRange(baseReferencesOnDerived); context.CollectionsOnBase.AddRange(collectionsOnBase); context.CollectionsOnDerived.AddRange(collectionsOnDerived); context.NestedCollections.AddRange(nestedCollections); context.NestedReferences.AddRange(nestedReferences); context.PrincipalEntities.AddRange(principalEntities); context.ReferencedEntities.AddRange(referencedEntities); context.ReferencesOnBase.AddRange(referencesOnBase); context.ReferencesOnDerived.AddRange(referencesOnDerived); context.SaveChanges(); }
public override SqliteTestStore CreateTestStore() => SqliteTestStore.GetOrCreateShared( nameof(InheritanceRelationshipsQuerySqliteTest), () => { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseSqlite(SqliteTestStore.CreateConnectionString(nameof(InheritanceRelationshipsQuerySqliteTest))); using (var context = new InheritanceRelationshipsContext(_serviceProvider, optionsBuilder.Options)) { // TODO: Delete DB if model changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { InheritanceRelationshipsModelInitializer.Seed(context); } TestSqlLoggerFactory.SqlStatements.Clear(); } });
public override NpgsqlTestStore CreateTestStore() { return(NpgsqlTestStore.GetOrCreateShared(DatabaseName, () => { var optionsBuilder = new DbContextOptionsBuilder() .UseNpgsql(_connectionString) .UseInternalServiceProvider(_serviceProvider); using (var context = new InheritanceRelationshipsContext(optionsBuilder.Options)) { // TODO: Delete DB if model changed context.Database.EnsureDeleted(); if (context.Database.EnsureCreated()) { InheritanceRelationshipsModelInitializer.Seed(context); } TestSqlLoggerFactory.Reset(); } })); }