如何在NHibernate中实现自定义'like'子句

时间:2014-03-23 18:05:19

标签: c# .net nhibernate orm pervasive

我开始将NHibernate与Pervasive SQL引擎一起使用 - 总而言之它工作得很好,尽管这是我无法克服的。我已经实现了自己的方言和驱动程序。问题是我无法为这种类型的数据库引擎指定“喜欢”行为。

规范说基本上我不能在like子句之后放置连接 - 我确实检查了它 - Pervasive抛出一个错误(('%'||?||'%')伪代码是从NHibernate中生成的。)

问题是 - 是否可以更改NHibernate引擎的默认行为,以便它不会连接字符串,而只是在like子句之后插入它?

因此我会'%'||?||'%'取代'%search_term%'而不是{{1}}。哦,顺便说一下。我正在使用linq提供程序来查询NHb。

1 个答案:

答案 0 :(得分:0)

看看这个例子:

     customers = session.CreateQuery("FROM Customer c WHERE c.AccountNumber LIKE :accNumber")
    .SetString("accNumber", "%" + accountNumber + "%")
    .SetMaxResults(size)
    .List<Customer>();

希望这会有所帮助