У меня проблема с PostgeSQL и NHibernate. Я пробовал HQL и критерии и выберите ничего не возвращает. Я использовал log4net для получения сгенерированного запроса, заменил параметры на значение и запрос вернул результат, почему так? Существует ли специальная конфигурация для Postgre или NHibernate? Я даже пытался с понижением (ниже (столбец), как ниже (: параметр)) и без результата.
HQL : return sess.CreateQuery("from VersFile e where e.ConfigId = :confId and lower(e.FolderPath) like lower(:path) and e.Type = :type and e.Statuss = :statuss and e.Tester != '' order by e.Sequence asc").SetString("path",path).SetInt32("type", fileType).SetInt32("confId", configId).SetInt32("statuss", recordStatuss).List<VersFile>();
FolderPath - это символьный столбец
ИЛИ Критерии
return sess.CreateCriteria(typeof(VersFile)).Add(Expression.Eq("Type", fileType)).Add(Expression.Eq("Statuss", recordStatuss)).Add(Expression.Eq("ConfigId", configId)).Add(Expression.Like("FolderPath", path, MatchMode.Start)).Add(Expression.Not(Expression.Eq("Tester", ""))).Add(Expression.Not(Expression.Eq("Statuss", (int)RecordStatuss.Merged))).AddOrder(Order.Asc("Sequence")).List<VersFile>();
Сгенерированный запрос выглядит как
select .... from versfile versfile0_ where ( versfile0_.statuss!=99) and versfile0_.confId=:p0 and (lower(versfile0_.fpath) like lower(:p1)) order by versfile0_.sequen asc;:p0 = 1, :p1 = '\%MainVss\%WinGui\%'
Я удалил ненужные параметры из строки запроса