nhibernate过滤器不工作(未知的过滤器参数)?

nhibernate过滤器不工作(未知的过滤器参数)?

问题描述:

我有这样一个过滤器:nhibernate过滤器不工作(未知的过滤器参数)?

<filter name="partnerIdFilter" condition="partner_id IN (:partnerId)"/> 

partnerId参数的定义如下:

<filter-def name="partnerIdFilter">  
    <filter-param name="partnerId" type="int[]"/> 
</filter-def> 

和过滤器启用这样的:

currentSession.EnableFilter("partnerIdFilter").SetParameterList("partnerId", specification.GetFilterValues()); 

,但我得到NHibernate例外Undefined filter parameter [partnerId]

我该如何解决这个问题?同一个映射文件中的另一个过滤器没有任何问题。

我知道这是一个古老的问题,但我只是自己学会了这个答案。该类型必须是基本类型或继承自IType,ICompositeUserType,IUserType,ILIfecycle,Enum或必须是Serializable。如果没有这些,那么你会得到这个相当神秘的错误。

+0

晚一点再好不到,谢谢! :-) – Max 2011-01-25 18:54:17

+0

对于那些仍然怀疑如何解决上面例子的人,你只需要从这个: '' 这个: '' – iacoware 2012-10-23 08:52:25