There are many ways to perform queries with XPO.
You can do this:
1
|
|
or this
1
|
|
Another way to use the simplified criteria syntax, and with the Xpo_EasyFields CodeRush plugin. Then you can do:
1
|
|
For each of the above, you can optionally query within the transaction by passing in the PersistentCriteriaEvaluationBehavior.InTransaction
parameter.
Or we can use LINQ via XPQuery<T>.TransformExpression()
.
1 2 3 |
|
All of these methods are powerful, but the power comes at a cost. The syntax is neither elegant nor particularly clear and as a result it is not very practical to maintain or test.
A Fluent Interface for XPO
How about if we could do the following?
1 2 3 4 |
|
Or, for a more elaborate example:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
In the next post I’ll show how to put the fluent interface code together.