/// <summary>
        /// Adds a EntityFramework saga repository to the registration
        /// </summary>
        /// <param name="configurator"></param>
        /// <param name="sagaRepository"></param>
        /// <param name="configure"></param>
        /// <param name="sagaClassMap"></param>
        /// <typeparam name="TSaga"></typeparam>
        /// <returns></returns>
        public static ISagaRegistrationConfigurator <TSaga> EntityFrameworkRepository <TSaga>(this ISagaRegistrationConfigurator <TSaga> configurator,
                                                                                              IEntityFrameworkSagaRepository sagaRepository, Action <IEntityFrameworkSagaRepositoryConfigurator <TSaga> > configure = null,
                                                                                              ISagaClassMap <TSaga> sagaClassMap = null)
            where TSaga : class, ISaga
        {
            sagaRepository.AddSagaClassMap(sagaClassMap ?? new ActionSagaClassMap <TSaga>());
            return(configurator.EntityFrameworkRepository(cfg =>
            {
                cfg.DatabaseFactory(sagaRepository.GetDbContext);

                configure?.Invoke(cfg);
            }));
        }
 /// <summary>
 /// Adds a EntityFramework saga repository to the registration
 /// </summary>
 /// <param name="configurator"></param>
 /// <param name="sagaRepository"></param>
 /// <param name="configure"></param>
 /// <param name="configureSagaMapping"></param>
 /// <typeparam name="TSaga"></typeparam>
 /// <returns></returns>
 public static ISagaRegistrationConfigurator <TSaga> EntityFrameworkRepository <TSaga>(this ISagaRegistrationConfigurator <TSaga> configurator,
                                                                                       IEntityFrameworkSagaRepository sagaRepository, Action <IEntityFrameworkSagaRepositoryConfigurator <TSaga> > configure = null,
                                                                                       Action <EntityTypeBuilder <TSaga> > configureSagaMapping = null)
     where TSaga : class, ISaga
 {
     return(configurator.EntityFrameworkRepository(sagaRepository, configure, new ActionSagaClassMap <TSaga>(configureSagaMapping)));
 }