Bien que DocumentDb établit des comparaisons de gamme de cordes,Documentdb requête LINQ avec comparaison de chaînes
client.CreateDocumentQuery<Family>( collectionLink, "SELECT * FROM Families f WHERE f.Address.State > 'NY'", new FeedOptions { EnableScanInQuery = true });
Vous pouvez également construire des requêtes DocumentDB Linq comme celui-ci.
var zipLinqQuery = from z in db.ZIPMASTERs where z.CORP == listItem.CORP && z.ZIPBEG.CompareTo(listItem.ZIPCODE) <= 0 && z.ZIPEND.CompareTo(listItem.ZIPCODE) >= 0 select z;
de Issues Doing a String Comparison in LINQ
Je ne peux pas construire dynamiquement des requêtes de comparaison de chaînes Linq LINQ Expressions:
Expression<Func<string, string, bool>> stringCompare = (x, y) => x.CompareTo(y) > 0; return Expression.Invoke(stringCompare, new[] { left, right });
produit la sortie suivante.
(Invoke((x, y) => x.CompareTo(y), x.state, "NY") > 0)
Il semble, l'API DocumentDB ne supporte pas Invoke et il ne supporte pas "Comparer". Il supporte "CompareTo" comme décrit ci-dessus mais pas lors de la construction dynamique d'un arbre d'expression Linq. Toutes les suggestions grandement appréciées.