У меня есть таблица с полем Имя, содержащая данные, подобные следующим:
a1
a2
b1
c1
1a
1b
2а
9b
Я пытаюсь выбрать только те значения строк, которые начинаются с цифры.
Я пытаюсь сделать это с помощью следующего запроса, но он не работает:
var numberGroups = _session
.CreateCriteria<CompanyGroupInfo>()
.Add(SqlExpression.Between<CompanyGroupInfo>(g => int.Parse(g.Name.Substring(0, 1)), 0, 9))
.List<CompanyGroupInfo>();
Выдает ошибку:
Unrecognised method call in epression Parse(g.Name.Substring(0, 1))
обратите внимание на опечатку 'выражения' - это NHibernate, а не я: -)
Может кто-нибудь подсказать, как мне достичь желаемого результата? Спасибо
edit: Я попробовал приведенные ниже предложения Джона, а также SqlExpression.Not<CompanyGroupInfo>(g => !char.IsLetter(g.Name.Substring(0, 1).ToCharArray()[0]))
, но все они выдают ошибки, подобные тому, что я написал выше.