你好,

我正在尝试,为用于IN STATEMENT的命名查询(本地sql)传递长数组:
像这样:

(...)
标识符在哪里(:pIdes)

我试着通过我的想法只要[]:

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

并作为一个字符串
 ctx.GetNamedQuery("NamedQueryName")
                   .SetParameter<string>("pIdes", Identificators)
                   .List<EmpreendimentoInputReport>();

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

“Oracle.DataAccess.Client.OracleException:ORA-00932:提示信息不一致:esperava NUMBER obteve BINARY”

有人可以帮我吗?

最佳答案

使用SetParameterList而不是SetParameter

关于c# - 如何在NHibernate中将参数传递给IN运算符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2758417/

10-10 06:40