OpenAccess always tries to translate as much as possible from the Linq query to SQL statements and execute them on the database server. The problem in this case is that the model has no information about the non-persistent property (whether it is mapped to a column or is calculated, etc.) and OpenAccess is unable to push the sorting to the server. This means that the sorting should be performed on the client side (in memory).
To achieve this you could slightly change the query and call OrderBy after ToList: