/// <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))); }