public EntityFrameworkSagaRepositoryContextFactory(ISagaDbContextFactory <TSaga> dbContextFactory,
                                                    ISagaConsumeContextFactory <DbContext, TSaga> consumeContextFactory, ISagaRepositoryLockStrategy <TSaga> lockStrategy)
 {
     _dbContextFactory      = dbContextFactory;
     _consumeContextFactory = consumeContextFactory;
     _lockStrategy          = lockStrategy;
 }
 public DbContextSagaRepositoryContext(DbContext dbContext, ConsumeContext <TMessage> consumeContext,
                                       ISagaConsumeContextFactory <DbContext, TSaga> factory, ISagaRepositoryLockStrategy <TSaga> lockStrategy)
     : base(consumeContext, dbContext)
 {
     _dbContext      = dbContext;
     _consumeContext = consumeContext;
     _factory        = factory;
     _lockStrategy   = lockStrategy;
 }
        static ISagaRepository <TSaga> CreateRepository(ISagaDbContextFactory <TSaga> dbContextFactory, ISagaRepositoryLockStrategy <TSaga> lockStrategy)
        {
            var consumeContextFactory = new SagaConsumeContextFactory <DbContext, TSaga>();

            var repositoryFactory =
                new EntityFrameworkSagaRepositoryContextFactory <TSaga>(dbContextFactory, consumeContextFactory, lockStrategy);

            return(new SagaRepository <TSaga>(repositoryFactory));
        }