Beim Ausführen von Formeln muss beachtet werden, in welchem Kontext diese ausgeführt werden. Beispielsweise können Free Joins (JoinOperand) nur im Rahmen von Datenbankabfragen genutzt werden. Im Gegensatz dazu können Zugriffe auf Eigenschaften, wie die Relationsdefinitionen, nur in .Net ausgeführt werden.

Es stehen zwei Methoden zur Verfügung, um die Formeln auf die Datensätze anzuwenden. Die erste führt eine Formel aus und liefert das Ergebnis zurück.

public object Evaluate(CriteriaOperator expression);
public object Evaluate(string expression);

Beispiel:

string text = (string)orm.Evaluate("Iif(StartsWith([TextField], 'Inhalt'), [TextField], 'Kein Inhalt da')");

Die zweite Methode überprüft eine Bedingung und liefert true oder false zurück.

public bool Fit(string condition);
public bool Fit(CriteriaOperator condition);

Beispiel:

if(orm.Fit(CriteriaOperatorBuilder.ApplyActiveFilter(null, EnumEntryActiveState.Active)) { ... }

Beide Methoden können auch in LINQ Abfragen genutzt werden und müssen dann den entsprechenden Kriterien für Datenbankabfragen entsprechen. Die Übergabe der Criteria als String ist aber nicht möglich! Da sollte vorher ein CriteriaOperator.Parse(...) genutzt werden.