在循环中对表存储使用IAsyncCollector<T>.AddAsync()不会进行保存,这是因为IAsyncCollector<T>.AddAsync()方法只是将数据添加到一个缓冲区中,并不会立即将数据写入到表存储中。在循环中连续调用AddAsync()方法只会将数据添加到缓冲区中,而不会触发实际的保存操作。
要实现在循环中保存数据到表存储,可以使用以下方法:
var collector = new MyTableCollector();
foreach (var item in items)
{
await collector.AddAsync(item);
}
await collector.FlushAsync();
var batch = new TableBatchOperation();
foreach (var item in items)
{
batch.Insert(item);
}
await table.ExecuteBatchAsync(batch);
需要注意的是,以上方法都是基于Azure Table Storage进行示例,如果使用其他云计算提供商的表存储服务,可以根据其提供的API进行相应的调整。
关于表存储的概念、分类、优势、应用场景以及腾讯云相关产品和产品介绍链接地址,可以参考腾讯云文档中的相关内容:
领取专属 10元无门槛券
手把手带您无忧上云