以下函数应返回在两个日期之间包含特定PartitionKey和TimeStamp的项目列表
public async Task<List<T>> RetrieveEntityDataAsync<T>(string deviceId = null) where T : TableEntity,new()
{
try
{
TableQuery<T> DataTableQuery = new TableQuery<T>();
if (!string.IsnullOrEmpty(deviceId))
{
var filter = TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.Equal,deviceId);
var filter1 = TableQuery.GenerateFilterCondition("Timestamp",QueryComparisons.GreaterThanOrEqual,DateTime.Now.AddDays(-1).ToUniversalTime().ToString());
var filter2 = TableQuery.GenerateFilterCondition("Timestamp",QueryComparisons.LessThanOrEqual,DateTime.Now.ToUniversalTime().ToString());
var combined = TableQuery.CombineFilters(filter,TableOperators.And,filter1);
var total = TableQuery.CombineFilters(combined,filter2);
DataTableQuery = new TableQuery<T>().Where(total);
}
var l = new List<T>();
TableContinuationToken continuationToken = null;
do
{
var queryResponse = await table.ExecuteQuerySegmentedAsync(DataTableQuery,continuationToken);
continuationToken = queryResponse.ContinuationToken;
l.AddRange(queryResponse.Results);
}
while (continuationToken != null);
return l;
}
catch (Exception ExceptionObj)
{
throw ExceptionObj;
}
}
发送它不起作用,并通过返回“ StorageException:Bad Request”进入异常。我究竟做错了什么? 谢谢