Skip to content

Instantly share code, notes, and snippets.

@vitormeriat
Last active August 29, 2016 17:27
Show Gist options
  • Save vitormeriat/df55ed727fc911b4b567511460470e7b to your computer and use it in GitHub Desktop.
Save vitormeriat/df55ed727fc911b4b567511460470e7b to your computer and use it in GitHub Desktop.
DynamicTableEntity to Azure Storage Table - Search between dates
void Main()
{
var account = "";
var key = "";
var tableName = "";
var storageAccount = CloudStorageAccount.Parse($"DefaultEndpointsProtocol=https;AccountName={account};AccountKey={key}");
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference(tableName);
var startDate = DateTime.Parse("2016/05/17 01:00:00 PM");
var endDate = DateTime.Parse("2016/05/17 03:00:00 PM");
var pk ="";
string pkFilter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, pk);
string date1 = TableQuery.GenerateFilterConditionForDate("DataHoraConsulta", QueryComparisons.GreaterThanOrEqual, startDate);
string date2 = TableQuery.GenerateFilterConditionForDate("DataHoraConsulta", QueryComparisons.LessThanOrEqual, endDate);
TableQuery query = new TableQuery().Select(new string[] {
"PropertyName1",
"PropertyName2",
"PropertyName3",
"PropertyName4",
"PropertyName5"
});
query.FilterString = TableQuery.CombineFilters(
TableQuery.CombineFilters(pkFilter, TableOperators.And, date1), TableOperators.And, date2);
var count = 1;
foreach (DynamicTableEntity entity in table.ExecuteQuery(query))
{
var n1 = entity["PropertyName1"].StringValue;
var n2 = entity["PropertyName2"].DoubleValue;
var n3 = entity["PropertyName3"].Int32Value;
var n4 = entity["PropertyName4"].DateTime;
var n5 = entity["PropertyName5"].BooleanValue;
Console.WriteLine($"{count}: {n1} - {n2} - {n3} - {n4} - {n5}");
count++;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment