2010-05-03 12 views
5

HI,Jak przekazać parametr do IN Operator w NHibernate?

Próbuję przechodzą długą tablicę dla nazwanego zapytania (Język SQL) za użycie w oświadczenie: tak:

(...) WHERE identyfikatorem IN (: pides)

próbowałem przekazać moje IDE jak długo []:

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

i jako ciąg

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

Gdy parametr jest niczym powrót ciąg whem jest długi [] powrót tego błędu Wyrocznia:

„Oracle.DataAccess.Client.OracleException: ORA-00932: tipos de dados inconsistentes: esperava NUMER obteve BINARY "

Ktoś może mi pomóc?

+0

http://stackoverflow.com/questions/2388021/parameterizing-a-hql-in-clause-using-hqlbasedquery –

Odpowiedz

10

Użyj SetParameterList zamiast SetParameter.