我有一个像这样的过滤器:
<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]
我该如何解决这个问题?同一映射文件中的另一个过滤器正常运行。
答案 0 :(得分:2)
我知道这是一个老问题,但我自己也刚刚学会了答案。类型必须是基本类型或继承自IType,ICompositeUserType,IUserType,ILIfecycle,Enum或必须是Serializable。如果它不是那些,那么你会得到这个相当神秘的错误。