OData options de filtre (gérer la valeur null ou vide de valeurs)

Nous utilisons $système de filtre de requête option dans OData pour exécuter des filtres où la valeur du filtre est envoyé lors de l'exécution.

Comme un exemple de la OData URL devrait être comme ceci:

http://services.odata.org/Northwind/Northwind.svc/Customers?$filtre=code client eq @InCustomerID et Pays eq @Pays

où @InCustomerID & @le Terrain sont les valeurs d'entrée de l'égalité de filtre.

Au moment de l'exécution lorsque l'utilisateur entre la valeur de l'ID du Client (dire 'ABCD') nous permettrait de remplacer le @InCustomerID par 'ABCD'

Au moment de l'exécution de la requête serait comme suit:

http://services.odata.org/Northwind/Northwind.svc/Customers?$filtre=code client eq 'ABCD' et des Pays de l'égaliseur "NOUS"

Dans le cas ci-dessus, l'utilisateur a entré les valeurs suivantes: CustomerID => "ABCD" et Pays => "NOUS"

Ma question est concernant la gestion des valeurs null dans OData $filtre. Si l'utilisateur n'entrez pas de valeur pour CustomerID ensuite, nous voulons sélectionner tous les clients de pays en particulier.

Dans sql cas ce serait quelque chose comme:

select * from Clients where ((CustomerID = @InCustomerID) ou (@CustomerID est null)) et (Pays = @Pays).

Essentiellement comment gérer la valeur null ou vide, de sorte que le prédicat de la condition logique serait toujours vrai.

Ne OData filtrage permet d'activer cette option?

InformationsquelleAutor Venki | 2011-01-31