Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检索Azure表数据库中的所有实体?_Azure_Azure Table Storage_Azure Tablequery - Fatal编程技术网

如何检索Azure表数据库中的所有实体?

如何检索Azure表数据库中的所有实体?,azure,azure-table-storage,azure-tablequery,Azure,Azure Table Storage,Azure Tablequery,下面的代码检索PartitionKey=“Smith”所在的所有实体 如果我想消除这个约束并返回表中的所有实体,我应该如何修改下面的代码 抱歉,如果这是一个愚蠢的问题,但我对C#和AzureDBs是新手,官方网站上的教程和示例代码非常有限 TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>().Where(TableQuery.GenerateFilterCondition("Partitio

下面的代码检索
PartitionKey=“Smith”
所在的所有实体

如果我想消除这个约束并返回表中的所有实体,我应该如何修改下面的代码

抱歉,如果这是一个愚蠢的问题,但我对C#和AzureDBs是新手,官方网站上的教程和示例代码非常有限

TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "Smith"));

foreach (CustomerEntity entity in table.ExecuteQuery(query))
{
    Console.WriteLine("{0}, {1}\t{2}\t{3}", entity.PartitionKey, entity.RowKey,
        entity.Email, entity.PhoneNumber);
}
TableQuery query=new TableQuery().Where(TableQuery.GenerateFilterCondition(“PartitionKey”,QueryComparisons.Equal,“Smith”));
foreach(表中的CustomerEntity实体。ExecuteQuery(查询))
{
Console.WriteLine(“{0},{1}\t{2}\t{3}”,entity.PartitionKey,entity.RowKey,
实体。电子邮件,实体。电话号码);
}

您无法使用筛选所需内容的where属性

请参阅以下代码:
TableQuery query=newtablequery()

以下是完整的代码:

static void Main(string[] args)
{
    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

    CloudTable table = tableClient.GetTableReference("people");
    table.CreateIfNotExists();

    TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>();
    foreach (CustomerEntity entity in table.ExecuteQuery(query))
    {
        Console.WriteLine("{0}, {1}\t{2}\t{3}", entity.PartitionKey, entity.RowKey,
        entity.Email, entity.PhoneNumber);
    }
}
static void Main(字符串[]args)
{
CloudStorageAccount-storageAccount=CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting(“StorageConnectionString”);
CloudTableClient tableClient=storageAccount.CreateCloudTableClient();
CloudTable=tableClient.GetTableReference(“人”);
table.CreateIfNotExists();
TableQuery=新建TableQuery();
foreach(表中的CustomerEntity实体。ExecuteQuery(查询))
{
Console.WriteLine(“{0},{1}\t{2}\t{3}”,entity.PartitionKey,entity.RowKey,
实体。电子邮件,实体。电话号码);
}
}
屏幕截图:

但是请记住,表服务在一次调用中最多返回1000个实体。如果表中有1000多个实体可用,它将返回一个可用于获取下一组实体的延续令牌。ExecuteQuery方法实际上在内部处理此延续令牌,因此如果出于任何原因要取消此操作,则不能这样做

您可以使用
var queryResult=table.ExecuteQuerySegmented(new TableQuery(),token)正如Gaurav所说

有关更多详细信息,请参阅此