public SqliteDatabaseProvider()
        {
            var connectionStringBuilder = new SqliteConnectionStringBuilder { DataSource = ":memory:" };
            var connectionString = connectionStringBuilder.ToString();
            var connection = new SqliteConnection(connectionString);

            var builder = new DbContextOptionsBuilder<TestDbContext>();
            builder.UseSqlite(connection);
            options = builder.Options;

            using (var context = new TestDbContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();
            }
        }
        public void CanAddEntity()
        {
            var testEntity = new TestEntity {Id = 1, Name = "Test Entity"};

            using (var context = new TestDbContext(options))
            {
                context.TestEntities.Add(testEntity);
                context.SaveChanges();
            }

            TestEntity foundEntity;
            using (var context = new TestDbContext(options))
            {
                foundEntity = context.TestEntities.FirstOrDefault(x => x.Id == testEntity.Id);
            }

            Assert.NotNull(foundEntity);
            Assert.Equal(testEntity.Name, foundEntity.Name);
        }