title: NHibenate. How to set IType in Projections.Constant?
body: <p>I have a project using NHibernate 2.1.2.4000 with .Net OracleClient, to connect to an old Oracle 8i production database.
  I have implemented an ICriteria, that is generating the correct query, but the following internal exception is raised: <strong>System.Data.OracleClient.OracleException: ORA-12704: character set mismatch</strong>.</p>
  
  <pre><code>return Session.
                  CreateCriteria&lt;Carrera&gt;().
                  SetProjection(Projections.SqlFunction("concat", NHibernateUtil.AnsiString, Projections.Property("Descripcion"), Projections.Constant(s), Projections.Property("Id"))).
                  Add(Expression.InsensitiveLike("Descripcion", filter.Trim(), MatchMode.Anywhere)).
                  SetMaxResults(cant).
                  List&lt;String&gt;();
  </code></pre>
  
  <p>My question is: How can I declare the IType AnsiString in the arguments of Projections.Constant(object, IType)? I think this could possibly solve the issue. I have tested removing Projections.Constant(), and all works fine.</p>
  
  <p>Sample generated query:</p>
  
  <pre><code>    select
      * 
  from
      ( SELECT
          (this_.CARR_DESCRIPCION||:p0||this_.CARR_CODIGO) as y0_ 
      FROM
          CARRERAS this_ 
      WHERE
          lower(this_.CARR_DESCRIPCION) like :p1 ) 
  where
      rownum &lt;=:p2;
  :p0 = ', código: ', :p1 = '%2451%', :p2 = 20
  </code></pre>
  
  <p>Thanks in advance.</p>