如何检索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所说
有关更多详细信息,请参阅此