Мне нужно перенести некоторые данные из хранилища Azure в базу данных Sql.
У меня есть следующий код:
class AzureDataAccessManager : IAzureDataAccessManager
{
private readonly CloudTable tableClient;
private readonly CloudStorageAccount storageAccount;
public string TableName { get; }
public AzureDataAccessManager(string connectionString, string tableName)
{
TableName = tableName ?? throw new ArgumentNullException(nameof(tableName));
if (connectionString == null) throw new ArgumentNullException(nameof(connectionString));
storageAccount = CloudStorageAccount.Parse(connectionString);
tableClient = storageAccount.CreateCloudTableClient().GetTableReference(TableName);
}
public List<T> QueryAllRecords<T>() where T : class, ITableEntity, new()
{
TableContinuationToken token = null;
var entities = new List<T>();
do
{
var queryResult = tableClient.ExecuteQuerySegmented(new TableQuery<T>(), token);
entities.AddRange(queryResult.Results);
token = queryResult.ContinuationToken;
} while (token != null);
return entities;
}
}
И я получаю все записи, подобные этой:
var result = azureTableManager.QueryAllRecords<AzureCpaDataEntity>();
Проблема в том, что я не знаю, сколько у меня будет строк.Что если он будет слишком большим?Может быть, пройти через некоторые диапазоны (10 тысяч или что-то еще), но, как я вижу, в List нет соответствующего метода.
Помогите мне с некоторыми решениями или идеями, пожалуйста!
Спасибо!