public DynamoDbSet( IIndexExtractor indexExtractor, ITableNameExtractor tableNameExtractor, IPrimaryKeyExtractor primaryKeyExtractor, IEntityValidator validator, IDynamoContextOptionsProvider optionsProvider, IEntityConfigurationProvider entityConfigurationProvider, Type contextType) { this.contextOptions = optionsProvider.GetContextOptions(contextType); this.Client = this.contextOptions.AwsOptions.CreateServiceClient <IAmazonDynamoDB>(); this.Base = new DynamoDBContext(this.Client); this.indexExtractor = indexExtractor; this.tableNameExtractor = tableNameExtractor; this.primaryKeyExtractor = primaryKeyExtractor; this.validator = validator; this.table = this.Base.TryGetTargetTable <TEntity>(this.operationConfig); this.entityConfig = entityConfigurationProvider.GetEntityConfiguration( this.contextOptions.ContextType, typeof(TEntity)) as IEntityConfiguration <TEntity>; this.operationConfig = new DynamoDBOperationConfig { OverrideTableName = this.tableNameExtractor.ExtractTableName( this.contextOptions, this.entityConfig, this.table), Conversion = this.contextOptions.Conversion ?? DynamoDBEntryConversion.V1 }; }
public TableCreator( IAmazonDynamoDB client, IIndexFactory indexFactory, IAttributeDefinitionFactory attributeDefinitionFactory, IIndexConfigurationFactory indexConfigurationFactory, IEntityConfigurationProvider entityConfigurationProvider) { this.client = client; this.indexFactory = indexFactory; this.attributeDefinitionFactory = attributeDefinitionFactory; this.indexConfigurationFactory = indexConfigurationFactory; this.entityConfigurationProvider = entityConfigurationProvider; }
public EntityValidator(IEntityConfigurationProvider entityConfigurationProvider) { this.entityConfigurationProvider = entityConfigurationProvider; }