我有PostgeSQL和NHibernate的問題。我已經嘗試過HQL和Criteria,並且選擇什麼都不返回。我使用log4net來獲取生成的查詢,用值替換參數並查詢返回結果,爲什麼? Postgre或NHibernate有特殊配置嗎?我甚至試圖降低(低(列)像低(:帕拉姆)),沒有結果。PostgreSQL與NHibernate的問題與LIKE和參數
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\%'
我已經移除查詢字符串參數無用
向我們展示一些代碼... – 2009-09-21 08:19:07
考慮編輯您的文章並將其格式化爲代碼,除非您希望每個人都是密碼分析師。 – 2009-09-21 08:39:58