Если вы хотите сделать что-то, как я делал раньше, это может помочь.Я хотел искать объекты в базе данных с помощью NHibernate, как и вы.Я создал объект Query для сбора всех критериев, введенных пользователем.И когда я установил связанное свойство для объекта Query, я добавил этот критерий следующим образом.
public bool Archive
{
set
{
if(value)
{
criteria.Add(Restrictions.Eq("Archive", true));
}
}
}
public bool IsFavorite
{
set
{
if (value)
{
criteria.Add(Restrictions.Eq("IsFavorite", true));
}
}
}
Если вы просто хотите фильтровать объекты в памяти.Вы также можете использовать Спецификация .