首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibenate。如何在IType中设置Projections.Constant?

NHibenate。如何在IType中设置Projections.Constant?
EN

Stack Overflow用户
提问于 2012-11-08 22:41:25
回答 1查看 1.1K关注 0票数 2

我有一个使用NHibernate 2.1.2.4000和.Net OracleClient连接到旧的Oracle8i生产数据库的项目。我已经实现了一个ICriteria,它生成正确的查询,但是引发了以下内部异常:ICriteria ORA-12704:字符集不匹配。

代码语言:javascript
复制
return Session.
                CreateCriteria<Carrera>().
                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<String>();

我的问题是:如何在IType (object,IType)的参数中声明Projections.Constant AnsiString?我认为这可能会解决问题。我已经测试过删除Projections.Constant(),而且都很好。

示例生成的查询:

代码语言:javascript
复制
    select
    * 
from
    ( SELECT
        (this_.CARR_DESCRIPCION||:p0||this_.CARR_CODIGO) as y0_ 
    FROM
        CARRERAS this_ 
    WHERE
        lower(this_.CARR_DESCRIPCION) like :p1 ) 
where
    rownum <=:p2;
:p0 = ', código: ', :p1 = '%2451%', :p2 = 20

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-11-13 20:57:36

也许是Projections.Constant(s, NHibernateUtil.AnsiString)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13299149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档