コード例 #1
0
        public async Task Initialize(ITableReaderWriter <TEntity> writer)
        {
            await this.table.CreateIfNotExistsAsync();

            var allitems = await writer.GetAll();

            foreach (var key in allitems.GroupBy(x => x.PartitionKey))
            {
                var existingItems = key.ToList();
                var index         = 0;
                var count         = existingItems.Count();

                do
                {
                    var pack = existingItems.Skip(index).Take(100);
                    index += (count - index) > 100 ? 100 : count - index - 1;

                    var batch = new TableBatchOperation();

                    foreach (var entity in pack)
                    {
                        batch.InsertOrReplace(entity);
                    }

                    await this.table.ExecuteBatchAsync(batch);
                }while (index < existingItems.Count() - 1);
            }
        }
コード例 #2
0
        async Task Initialise(ITableReaderWriter <TEntity> from)
        {
            var list = await @from.GetAll();

            foreach (var item in list)
            {
                var item1 = item;
                await this.InsertOrUpdate(item, entity => item1);
            }
        }
コード例 #3
0
 public TableWriterForSerializer(ITableReaderWriter <T>
                                 internalReaderWriter,
                                 IDtoConverter <TDto, T> converter,
                                 IDtoSerializer <TDto> serializer)
 {
     this.internalReaderWriter = internalReaderWriter;
     this.converter            = converter;
     this.serializer           = serializer;
     this.isLoaded             = false;
 }
コード例 #4
0
 public SayingHistoryProjection(ITableReaderWriter <Saying> said)
 {
     this.said = said;
 }
コード例 #5
0
 public CachedTableReaderWriter(ITableReaderWriter <T> backupTable, ITableReaderWriter <T> cachedTable)
 {
     this.backupTable = backupTable;
     this.cachedTable = cachedTable;
 }