Queryover, где id отсутствует в списке

Я боролся с этим некоторое время, поэтому я надеюсь, что некоторые из вас, эксперты по QueryOver, могут помочь.

У меня есть список сообщений в блоге. Вы можете голосовать за каждое сообщение в блоге, и я хотел бы (среди прочего) получить список сообщений, за которые пользователь не голосовал.

Сначала я думал о том, чтобы сделать что-то вроде:

Session.QueryOver<BlogPost>()
.WhereRestrictionOn(bp => bp.Id)
.NotIn(existingBlogPostVotes);

(existingBlogPostVoteIds - это идентификаторы проголосовавших сообщений в блоге)

Но этого не существует в структуре QueryOver.

Я обнаружил, что могу сделать это в критериях вроде этого:

var crit =
     Session.CreateCriteria<BlogPost>()
     .Add(Restrictions.Not(Restrictions.In("Id",existingBlogPostVotes)));

Но я бы сделал это в QueryOver, а не в критериях.

Как это сделать в QueryOver?

12
задан Zoidberg 25 February 2012 в 13:47
поделиться