Пример #1
0
            public static void Seed(RangeContext context)
            {
                context.RangeTestEntities.AddRange(
                    new RangeTestEntity
                {
                    Id = 1,
                    // (0, 10)
                    Range       = new NpgsqlRange <int>(0, false, false, 10, false, false),
                    FloatRange  = new NpgsqlRange <float>(0, false, false, 10, false, false),
                    SchemaRange = new NpgsqlRange <double>(0, false, false, 10, false, false)
                },
                    new RangeTestEntity
                {
                    Id = 2,
                    // [0, 10)
                    Range = new NpgsqlRange <int>(0, true, false, 10, false, false)
                },
                    new RangeTestEntity
                {
                    Id = 3,
                    // [0, 10]
                    Range = new NpgsqlRange <int>(0, true, false, 10, true, false)
                },
                    new RangeTestEntity
                {
                    Id = 4,
                    // [0, ∞)
                    Range = new NpgsqlRange <int>(0, true, false, 0, false, true)
                },
                    new RangeTestEntity
                {
                    Id = 5,
                    // (-∞, 10]
                    Range = new NpgsqlRange <int>(0, false, true, 10, true, false)
                },
                    new RangeTestEntity
                {
                    Id = 6,
                    // (-∞, ∞)
                    Range = new NpgsqlRange <int>(0, false, true, 0, false, true)
                },
                    new RangeTestEntity
                {
                    Id = 7,
                    // (-∞, ∞)
                    Range = new NpgsqlRange <int>(0, false, true, 0, false, true)
                });

                context.SaveChanges();
            }
            /// <summary>
            /// Initializes a <see cref="RangeQueryNpgsqlFixture"/>.
            /// </summary>
            // ReSharper disable once UnusedMember.Global
            public RangeQueryNpgsqlFixture()
            {
                TestSqlLoggerFactory = new TestSqlLoggerFactory();

                _testStore = NpgsqlTestStore.CreateScratch();

                _options =
                    new DbContextOptionsBuilder()
                    .UseNpgsql(_testStore.ConnectionString, b => b.ApplyConfiguration())
                    .UseInternalServiceProvider(
                        new ServiceCollection()
                        .AddEntityFrameworkNpgsql()
                        .AddSingleton <ILoggerFactory>(TestSqlLoggerFactory)
                        .BuildServiceProvider())
                    .Options;

                using (RangeContext context = CreateContext())
                {
                    context.Database.EnsureCreated();

                    context.RangeTestEntities.AddRange(
                        new RangeTestEntity
                    {
                        Id = 1,
                        // (0, 10)
                        Range = new NpgsqlRange <int>(0, false, false, 10, false, false),
                    },
                        new RangeTestEntity
                    {
                        Id = 2,
                        // [0, 10)
                        Range = new NpgsqlRange <int>(0, true, false, 10, false, false)
                    },
                        new RangeTestEntity
                    {
                        Id = 3,
                        // [0, 10]
                        Range = new NpgsqlRange <int>(0, true, false, 10, true, false)
                    },
                        new RangeTestEntity
                    {
                        Id = 4,
                        // [0, ∞)
                        Range = new NpgsqlRange <int>(0, true, false, 0, false, true)
                    },
                        new RangeTestEntity
                    {
                        Id = 5,
                        // (-∞, 10]
                        Range = new NpgsqlRange <int>(0, false, true, 10, true, false)
                    },
                        new RangeTestEntity
                    {
                        Id = 6,
                        // (-∞, ∞)
                        Range = new NpgsqlRange <int>(0, false, true, 0, false, true)
                    },
                        new RangeTestEntity
                    {
                        Id = 7,
                        // (-∞, ∞)
                        Range = new NpgsqlRange <int>(0, false, true, 0, false, true)
                    });

                    context.SaveChanges();
                }
            }