Проблема была решена с помощью Expression<func>
.
public IEnumerable<TEntidade> ObterEntidadesPor(Expression<Func<TEntidade, bool>> where)
{
return SessionNH.Query<TEntidade>().Where(where);
}
При поиске ответа коллега сказал мне, что Func
выполняет запрос перед построением выражения. Чтобы построить выражение перед выполнением запроса, мы должны использовать Expression
.
Это также упоминается @RomanArtiukhin в комментариях к вопросу.