Ошибка Nhibernate Linq для одного или по умолчанию

Я выдергиваю свои волосы здесь и не понимаю, в чем причина.

У меня есть следующий запрос LINQ:

return Session.Linq<CandidateAccountEntity>().SingleOrDefault(p => p.UserName.ToLower().Equals(userName.ToLower()));

и выдает следующую ошибку:

Индекс был вне допустимого диапазона. Должен быть неотрицательным и быть меньше размера коллекции.

Если попробую завернуть чеком:

if(Session.Linq<CandidateAccountEntity>().Any()) {...}

то я получаю следующую ошибку:

не удалось выполнить запрос [SELECT count (*) as y0_ FROM [CandidateAccountEntity] this_ внутреннее соединение CFG.Account this

return Session.Linq<CandidateAccountEntity>().SingleOrDefault(p => p.UserName.ToLower().Equals(userName.ToLower()));
на this_.AccountEntity_3
return Session.Linq<CandidateAccountEntity>().SingleOrDefault(p => p.UserName.ToLower().Equals(userName.ToLower()));
id = this
return Session.Linq<CandidateAccountEntity>().SingleOrDefault(p => p.UserName.ToLower().Equals(userName.ToLower()));
.AccountId]

с внутренним исключением:

{"Неправильный синтаксис рядом с '' '."}

Любая помощь будет очень, очень приветствуется. Я не хочу здесь застревать в пятницу днем: /


person Chance    schedule 18.06.2010    source источник
comment
См. Также: stackoverflow .com / questions / 2598202 /   -  person Michael Maddox    schedule 19.06.2010


Ответы (1)


ToLower не поддерживается поставщиком Linq NH 2.x. Он работает со встроенным провайдером в 3.x.

person Diego Mijelshon    schedule 18.06.2010
comment
Хм, ну лажа. Можно ли тогда игнорировать регистр? - person Chance; 19.06.2010
comment
В зависимости от БД вы можете использовать сортировку без учета регистра для этого поля. - person Diego Mijelshon; 19.06.2010