现在我有一个FilterDefinition与此:
public class PurposeFilter:FilterDefinition
{
public PurposeFilter()
: base(NHibernateFilters.PurposeFilter, "PurposeId = :purposeId",
new Dictionary<string, IType> { { "purposeId", NHibernateUtil.Int64 } }, false)
{}
}
这会将
WHERE PurposeId = <someId>
添加到生成的SQL中。但是,我想添加对多个ID的支持,因此生成的SQL将为WHERE PurposeId IN (<someId>, <someOtherId>)
。我有以下代码(不起作用)-关于如何支持此功能的任何建议?public class MultiPurposeFilter : FilterDefinition
{
public MultiPurposeFilter()
: base(NHibernateFilters.MultiPurposeFilter, "PurposeId IN (purposeIds)"
, new Dictionary<string, IType> { { "purposeIds", NHibernateUtil.Int64 } }, false)
{
}
}
最佳答案
我还没有尝试过,但是您可以使用PurposeId IN (:purposeIds)
和SetParameterList
方法来设置值。