【发布时间】:2019-01-20 06:44:25
【问题描述】:
我正在尝试根据我的范围过滤器删除 Azure 表实体。我在这里尝试的只是删除旧记录。
我能够根据我的范围搜索条件获得正确的实体。
TableQuery<Tables> rangeQuery = new TableQuery<Tables>().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "DeleteTablename"),
TableOperators.And,
TableQuery.GenerateFilterConditionForDate("StartedOn", QueryComparisons.LessThan, DateTime.Now.Add(new TimeSpan(0, -60, 0)))));
foreach(Tables rows in logTable.ExecuteQuery(rangeQuery)) {
log.Info($"{rows.PartitionKey}, {rows.RowKey}\t{rows.FinishedOn}\t{rows.Timestamp}");
}
//till here it works
TableResult retrievedResult = logTable.ExecuteQuery(rangeQuery);
Tables deleteEntity = (Tables)retrievedResult.Result;
出现以下错误
不能隐式转换类型 'System.Collections.Generic.IEnumerable' 到 'Microsoft.WindowsAzure.Storage.Table.TableResult' 计时器测试
无法转换类型“Microsoft.WindowsAzure.Storage.Table.TableResult” 到'timertest.Tables' timertest
注意事项:
-
timertest是我的namespace -
Tables是一个类,它扩展了TableEntity类以添加我的 azure 表中的自定义属性。
根据范围删除实体的任何想法?
【问题讨论】:
标签: c# azure azure-functions azure-table-storage azure-tablequery