帮助NHibernate中的Dialect文件

时间:2011-04-21 09:28:01

标签: nhibernate

我已经开始在NHibernate中为Interbase 7创建一个方言。

Interbase SQL包含一个运算符CONTAINING 'foo',它相当于其他SQL版本中的LIKE '%' + 'foo' + '%'LIKE在Interbase中区分大小写,而CONTAINING则不区分,因此我希望方言将LIKE情况翻译为使用CONTAINING

我对示例方言文件有一个非常好的看法,但我找不到任何相关的东西。任何人都可以提供任何指示吗?

2 个答案:

答案 0 :(得分:1)

您可以使用'UPPER'将字符串的两边转换为大写字母。

http://www.ibprovider.com/forum/site/viewtopic.php?f=3&t=24

答案 1 :(得分:1)

没有办法用LITAIN替换LIKE的内部用法(除了修补NH)。

您需要明确调用CONTAINING。一旦你注册了它,它就可以作为HQL中的另一个函数,在Criteria中使用Projections.SQLFunction,并在LINQ中编写相应的生成器(参见http://fabiomaulo.blogspot.com/2010/07/nhibernate-linq-provider-extension.html