I'm trying to use a criteria search, and list the results alphabetically.  Unfortunately, the fields have random whitespace and html fragments, as well as mixed case.  So, what I need to do is call
Code:
ORDER BY lower(ltrim(strip_html(field))) ASC
After searching these forums, someone in the Java forum posted about simply extending the order class.  I did that, only to realize that in C#, I can't override the ToSqlString method.
So, my suggestion:
instead of defining Order as: 
Code:
   public class Order
   {
      private bool _ascending;
      private string _propertyName;
      public string ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery)
      {
      }
   }
could the next revision define it as this?
Code:
   public class Order
   {
      protected bool _ascending;
      protected string _propertyName;
      public virtual string ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery)
      {
      }
   }
Oh, and is there any way to do this without having to add a dozen SortFieldX entries in my mapping files?