Применить метод ToList для sub_q может решить вашу проблему, потому что может быть проблема linq отличается выполнение ..
код похож на
var sub_q = SessionInstance.Query<Person>()
.Where(x => x.Id < 6).Select(x => x.Id).ToList();
var q = SessionInstance.Query<Person>();
q = q.Where(x => sub_q.Contains(x.Id));
ИЛИ вы можете попробовать
q = q.Where(x => (SessionInstance.Query<Person>()
.Where(x => x.Id < 6).Select(x => x.Id)).Contains(x.Id));
, не уверенный насчет вышеупомянутого второго решения
, но я думаю, что вам нужно сделать ToList()
, чтобы решить проблему с другим исполнением ..