Exemple #1
0
        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);
        }
Exemple #3
0
        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);
                }
            }));
        }
Exemple #5
0
    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();
                }
            }));
        }