hql是Nhibernate中的重要语法。对于多条件查询是比较重要的实现方法。
但是hql对oracle的sql的转换似乎不是很好。
比如:Extract(YEAR FROM DateTime),这个是oracle中抽取日期字段中的年份的语句。但Nhibernate翻译成“Select _DateTime * From _DateTime ”,Extract完全被忽略。我调试个半死没有出来结果。
他检测到From,就认为是Select From?
所以用Nhibernate的时候,还是要跟跟他输出的sql。
附加个Nhibernate的源码,不失为调试的好办法。呵呵。
欢迎提出宝贵意见:)