我如何改变Linq-to-Nhibernate为Contains生成的SQL

时间:2016-10-19 14:53:51

标签: linq nhibernate

当我使用Contains时,我想逃避nhibernate生成的查询 我的意思是,假设我使用的是SQL Server Contains("%"),NHibernate应该生成like '[%]'

我想在不使用不同的扩展方法(即实现和使用MyOwnContain)的情况下获得此功能。 在这种情况下,答案可能是这样的:
Linq to NHibernate extensibility for custom string query operations?

1 个答案:

答案 0 :(得分:1)

目前可用的NHibernate版本不可能,但即将推出的NH 4.1将至少解决其中一个相关问题:

https://nhibernate.jira.com/browse/NH-3726(换取Like())

https://nhibernate.jira.com/browse/NH-3829(对于Contains()的转义等)

但是,由于可以通过将%通配符括在括号中来禁用%通配符,因此您应该能够在调用Contains()之前自己执行此操作。当上述最终在NH中实施时,请注意并准备好处理这种情况。