【问题标题】:How pass a parameter to IN Operator in NHibernate?如何将参数传递给 NHibernate 中的 IN 运算符?
【发布时间】:2011-02-15 01:12:15
【问题描述】:

嗨,

我正在尝试,为命名查询(本机 sql)传递一个长数组,以便在 IN STATEMENT 中使用: 像这样:

(...) WHERE Identificator IN (:pIdes)

我尝试通过我的 ide[]:

 ctx.GetNamedQuery("NamedQueryName")                                          
                   .SetParameter<long[]>("pIdes", Identificators)
                   .List<EmpreendimentoInputReport>();

作为字符串

 ctx.GetNamedQuery("NamedQueryName")                                          
                   .SetParameter<string>("pIdes", Identificators)
                   .List<EmpreendimentoInputReport>();

当参数为字符串时不返回任何内容,如果是long[]则返回此oracle错误:

“Oracle.DataAccess.Client.OracleException:ORA-00932:tipos de dados 不一致:esperava NUMBER obteve BINARY”

有人可以帮助我吗?

【问题讨论】:

标签: c# oracle nhibernate ora-00932 query-parameters


【解决方案1】:

使用SetParameterList 代替SetParameter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多