Ответ 1
Взгляните на документацию NHibernate HQL здесь.
Я угадываю из вашего кода, что вы после запроса HQL возвращаете все задания, где job.ServiceID в списке идентификаторов.
Может быть, что-то по строкам,
IQuery q = s.CreateQuery("from Job as j where j.ServiceId in (:serviceIds)");
q.SetParameterList("serviceIds", ids);
Кстати, вы слышали о проекте NHibernate Lambda Extensions? Ниже приведен пример запроса IN, выполненного с использованием указанной библиотеки. Может быть интересно посмотреть на альтернативу использованию HQL.
DetachedCriteria after =
DetachedCriteria.For<Person>()
.Add(SqlExpression.In<Person>(p => p.Name,
new string[] { "name1", "name2", "name3" }));