?Çoklu filtre koşulları Azure tablo depolama
Bu denedim budur: TableQuery.CombineFilters()
sadece 3 parametre alır çünkü
string partitionFilter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "partition1");
string date1 = TableQuery.GenerateFilterCondition("Date", QueryComparisons.GreaterThanOrEqual, "31-8-2013T14:15:14Z");
string date2 = TableQuery.GenerateFilterCondition("Date", QueryComparisons.LessThanOrEqual, "31-8-2013T14:15:14Z");
string finalFilter = TableQuery.CombineFilters(partitionFilter, TableOperators.And, date1);
Bu işe yaramaz. Ve 2. tarih için ekstra bir parametreye ihtiyacım var.
Benim ikinci deneyin:
string filter = "PartitionKey eq 'partition1' and Date ge datetime'31-8-2013T14:15:14Z' and Date lt datetime'31-8-2013T14:19:10Z'";
TableQuery<CustomEntity> query = new TableQuery<CustomEntity>().Where(filter).Take(5);
Bu 400 bad request
döndürür. Ancak 'datetime' öğesini kaldırırsam çalışır, ancak birkaç 100 kayıt döndürürken sonuç döndürmez.
msdn this dokümana göre, bu tarihsaat biçimlendirilmesi gerektiğini nasıl.
Benim sonuç iki tarih arasındaki tüm kayıtları olabilir.
Bu işi nasıl yapabilirim?
Çözümünüzü denedim, derler ve çalışır, ancak hiçbir kayıt döndürülmez. Bildiğiniz DateTime karşılaştırmaları için yapmam gereken özel 'şeyler' var mı? – Quoter
Yaptığınız her filtre türü için farklı numaralar var gibi görünüyor. Ve bugüne kadar 'TableQuery.GenerateFilterConditionForDate'. Ve bu hile yaptı. Damith, bunu cevabın için de yapabilir misin? – Quoter