I am really stuck in my query filter on Azure table storage. May I know how to query with timestamp please? When I query for partition key to 1005 alone, I am getting the complete table which I don't want. When I added "and" condition with timestamp (tried with lots of formats but it is not returning anything. Code snippet below :
var lowerlimit = DateTime.Today.AddDays(-52).ToString("yyyy-MM-dd");
string dateRangeFilter = TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "1005"),
TableOperators.And,
TableQuery.GenerateFilterCondition("TimeStamp", QueryComparisons.GreaterThanOrEqual, lowerlimit));
I am able to use the Timestamp with Microsoft.WindowsAzure.Storage version 4.0.1.0. Just and example
var query = TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("Level", QueryComparisons.Equal, "ERROR"),
TableOperators.And,
TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual, DateTimeOffset.Now.AddDays(-20).Date));
var query2 = TableQuery.CombineFilters(query,
TableOperators.And,
TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.LessThanOrEqual, DateTimeOffset.Now));
var exQuery = new TableQuery<LogEntry>().Where(query2);
CloudTableClient tableClient = _storageAccount.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference(_tableName);
var results = table.ExecuteQuery(exQuery).Select(ent => (T) ent).ToList();