public static IDomainatorInfrastructureBuilder UseDynamoDb( this StateManagementConfiguration configuration, string aggregateStoreTableName) { Require.NotNull(configuration, nameof(configuration)); Require.NotEmpty(aggregateStoreTableName, nameof(aggregateStoreTableName)); return(configuration.UseStateStorageFactory(serviceProvider => { var serilaizer = (IAggregateStateSerializer)serviceProvider(typeof(IAggregateStateSerializer)); var dynamoDb = (IAmazonDynamoDB)serviceProvider(typeof(IAmazonDynamoDB)); var table = Table.LoadTable(dynamoDb, aggregateStoreTableName); return new DynamoDbAggregateStateStorage(table, serilaizer); })); }
public static IDomainatorInfrastructureBuilder UseDynamoDb(this StateManagementConfiguration configuration) { Require.NotNull(configuration, nameof(configuration)); return(configuration.UseDynamoDb("AggregateStore")); }