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