public static void RegisterDependencies(IDependencyResolver dependencyResolver, SqlDatabaseTypeEnum databaseType)
        {
            dependencyResolver.Register<IUnitOfWorkFactory, EntityFrameworkUnitOfWorkFactory>();

            if (databaseType == SqlDatabaseTypeEnum.Azure)
            {
                dependencyResolver.Register<IDbConfiguration, SqlDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new SqlDatabaseConfiguration());
            }
            else
            {
                dependencyResolver.Register<IDbConfiguration, NullDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new NullDatabaseConfiguration());
            }

            dependencyResolver.Register<IUnitOfWorkFactoryProvider, EntityFrameworkUnitOfWorkFactoryProvider>();
        }
        public static IDependencyResolver UseEntityFramework(this IDependencyResolver dependencyResolver, SqlDatabaseTypeEnum databaseType)
        {
            dependencyResolver.Register<IUnitOfWorkFactory, EntityFrameworkUnitOfWorkFactory>();

            if (databaseType == SqlDatabaseTypeEnum.Azure)
            {
                dependencyResolver.Register<IDbConfiguration, SqlDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new SqlDatabaseConfiguration());
            }
            else
            {
                dependencyResolver.Register<IDbConfiguration, NullDatabaseConfiguration>();
                DbConfiguration.SetConfiguration(new NullDatabaseConfiguration());
            }

            dependencyResolver.Register<IUnitOfWorkFactoryProvider, EntityFrameworkUnitOfWorkFactoryProvider>();
            // internal
            dependencyResolver.Register<IEntityFrameworkRepositoryLogger>(() =>
                new EntityFrameworkRepositoryLogger(
                    dependencyResolver.Resolve<ILoggerFactory>()
                        .CreateLogger(new LoggerSource("AccidentalFish.ApplicationSupport.Repository.EntityFramework"))));
            return dependencyResolver;
        }