Например, учитывая следующий код, как можно сделать сравнение строк без учета регистра?
var query = from employeeGroup in _session.Linq<EmployeeGroup>()
from employee in employeeGroup.Employee
where employee.UserName == username
select employeeGroup.EmployeeGroupName;
Может помочь метод NHibernate.Linq.SqlClient.SqlClientExtensions.Upper (), но он кажется доступным только в SQL Server.
Если я использую класс System.String для сравнения, я получаю сообщение об ошибке: «Невозможно использовать подзапросы по критериям без проекции». Я полагаю, что это потому, что не существует прямого сопоставления, которое NHibernate может сделать с SQL.