示例#1
0
 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
     };
 }
示例#2
0
 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;
 }
示例#3
0
 public EntityValidator(IEntityConfigurationProvider entityConfigurationProvider)
 {
     this.entityConfigurationProvider = entityConfigurationProvider;
 }