Ошибка: невозможно привести объект типа 'NHibernate.Hql.Ast.HqlBitwiseAnd' к типу 'NHibernate.Hql.Ast.HqlBooleanExpression' - PullRequest
2 голосов
/ 16 февраля 2012

Я использую архитектуру s # arp и NHibernate 3.1.

Я бы хотел случайным образом выбрать 10 строк в таблице, и я следую совету, данному на этой странице Linq Orderby randomThreadSafe для использования в ASP.NET

Решение включает в себя выполнение XOR в базе данных, и мой запрос выглядит следующим образом

repo.FindAll()
    .OrderBy(q => ((~(q.QuestionId & seed)) & (q.QuestionId | seed)))
    .Take(10);

И я получаю следующую ошибку: Unableдля приведения объекта типа 'NHibernate.Hql.Ast.HqlBitwiseAnd' к типу 'NHibernate.Hql.Ast.HqlBooleanExpression'

Когда я удаляю '~' из запроса, я не получаю ошибку,Это ошибка в NHQueryProvider, которая не может понять '~' как побитовую операцию?

...