L'interrogation de Windows Azure Table Storage avec plusieurs critères de recherche
Je suis en train d'interroger une table dans Windows Azure storage et a été initialement à l'aide de la TableQuery.CombineFilters
dans le TableQuery<RecordEntity>().Where
fonction comme suit:
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.GreaterThanOrEqual, lowDate),
TableOperators.And,
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.LessThanOrEqual, lowDate),
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, entityId)
));
Malheureusement CombineFilters permet seulement 2 critères de requête max. Donc, je suis en train de faire ceci:
var tableQuery = new TableQuery<RecordRowEntity>()
.Where(TableQuery.CombineFilters("PartitionKey", string.Format("(PartitionKey ge '{0}') and (PartitionKey le '{1}') and (RowKey eq '{2}')", low, high, entityId));
Est-il un autre moyen de le faire. Suis conerned que la façon dont je le fais à l'heure actuelle est vulnérable aux changements dans la façon dont l'Azur de l'Api travaille.
OriginalL'auteur Captain John | 2014-01-16
Vous devez vous connecter pour publier un commentaire.
D'un filtre combiné peut ensuite être combiné avec un autre filtre, en répétant autant de fois que nécessaire. Voir l'exemple "Exemple de Requête de toutes les entités avec un PartitionKey=”SamplePK” et RowKey supérieure ou égale à “5”" à http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/06/windows-azure-storage-client-library-2-0-tables-deep-dive.aspx.
OriginalL'auteur kwill
C'est ce que j'utilise comme un chèque rapide pour la plage ou le téléchargement des dossiers.
OriginalL'auteur Milan