Я использую Fluent NHibernate 1.0RC (для NHibernate 2.1.4000) вместе с Linq 2 NHibernate, и я хочу выполнить запрос с побитовой обработкой и операцией.Сначала я попытался использовать Linq, как это, но это не сработало:
var objects = _session.Linq<MyClass>()
.Where(x => (x.someInteger & otherInteger) > 0)
.ToList();
Мой вывод здесь заключается в том, что побитовые операции не поддерживаются Linq 2 Nhibermate.Поэтому я попытался использовать вместо HQL:
var objects = _session.CreateQuery("select c from MyClass c
where c.someInteger & :param > 0")
.SetParameter("param", otherInteger)
.List<MyClass>();
Это тоже не сработало.Это дало мне ошибку ora-01036: «недопустимое имя / номер переменной».
Итак, мои вопросы: возможно ли даже использовать побитовые операции с NHibernate?Поддерживается ли оно из коробки с помощью NHibernate 3.0?Это проблематично, потому что я использую БД Oracle, которая вместо функции & будет ожидать функцию bitand ()?