private IDictionary<string, string> CreateAndSaveDefaultValues(ConfigurationContext dbContext)
 {
     var configValues = new Dictionary<string, string>
     {
         { "key1", "value_from_ef_1" },
         { "key2", "value_from_ef_2" }
     };
     dbContext.Values.AddRange(configValues
         .Select(kvp => new ConfigurationValue() { Id = kvp.Key, Value = kvp.Value })
         .ToArray());
     dbContext.SaveChanges();
     return configValues;
 }
        public override void Load()
        {
            var builder = new DbContextOptionsBuilder<ConfigurationContext>();
            OptionsAction(builder);

            using (var dbContext = new ConfigurationContext(builder.Options))
            {
                dbContext.Database.EnsureCreated();
                Data = !dbContext.Values.Any()
                    ? CreateAndSaveDefaultValues(dbContext)
                    : dbContext.Values.ToDictionary(c => c.Id, c => c.Value);
            }
        }