Wie zu analysieren OData $filter mit regulären Ausdrücken in C#?

Hallo ich Frage mich, was der beste Ansatz wäre, zu analysieren OData $filter-string in C#, zum Beispiel

/API/Organisationen?$filter="name-eq 'Facebook' oder name-eq 'Twitter' und Abonnenten gt '30'"

Zurückkehren sollten alle Organisationen, die einen Namen von Facebook oder Twitter und die mehr als 30 Teilnehmer. Ich habe recherchiert, einiges aber nicht finden können, von Lösungen, die sich nicht umkreisen, WCF. Ich dachte, der Verwendung von Regex und gruppieren Sie Sie, damit ich eine Liste
der Filter-Klassen so, dass:

Filter
    Resource: Name
    Operator: Eq
    Value: Facebook
Filter
    Resource: Name
    Operator: Eq
    Value: Twitter
Filter
    Resource: Subscribers
    Operator: gt
    Value: 30

aber ich bin ratlos, wie Sie zu behandeln ANDs /ORs.

Erwägen Sie die Verwendung einer eigentlichen parser toolkit und arbeiten aus der Skillung, nicht zu stolpern, um mit einem Bündel von REs. Die Doku fand ich die Erwähnung eines "normativen OData-Spezifikation" mit einer Grammatik für den filter Ausdruck.

InformationsquelleAutor Nick Spicer | 2014-01-30

Schreibe einen Kommentar