Я боролся с этим некоторое время, поэтому я надеюсь, что некоторые из вас, эксперты по 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?