Der mit Abstand häufigste Anwendungsfall ist die Verkettung zweier Formeln. Dabei wird die zweite Formel logisch auf das Ergebnis der Ersten angewendet. Aufgrund der Struktur der Criteria-Language ist das eine nichttriviale Operation.

Die Methode CriteriaOperatorHelper.MergeCriteria implementiert diesen Vorgang, indem sie einen neuen CriteriaOperator erstellt, der das Ergebnis der Verkettung darstellt.

Anwendungsfälle

  • Wenn ein Control zwei Felder bereit stellt, eines für die Auswahl eines Datensatzes und ein zweites für die Auswahl des Anzeigetextes, dann muss letzerer Ausdruck auf das Ergebnis der ersten angewendet werden.
  • Wenn man zum Rendern eines Wertes mehrere verschiedene Darstellungsformen oder Unterfelder des vom Benutzer abgegebenen Objektes benötigt, beispielsweise Text und Icon eines Enums oder Links-Adresse und Entity-Title eines ORMs. Auch hier, muss die vom Konfigurator vorgegebenen Expression nachträglich erweitert werden.

Validierung

Eine Validierung verketteter Operatoren ist im allgemeinen nur im Kontext möglich. Das bedeutet, um die zweite Expression zu validieren, muss man faktisch das Ergebnis der Verkettung validieren. Eine separate Validierung würde nur funktionieren, wenn man den Ergebnistyp des ersten Ausdrucks immer exakt kennt.