当我使用Contains时,我想逃避nhibernate生成的查询
我的意思是,假设我使用的是SQL Server Contains("%")
,NHibernate应该生成like '[%]'
。
我想在不使用不同的扩展方法(即实现和使用MyOwnContain)的情况下获得此功能。
在这种情况下,答案可能是这样的:
Linq to NHibernate extensibility for custom string query operations?
答案 0 :(得分:1)
目前可用的NHibernate版本不可能,但即将推出的NH 4.1将至少解决其中一个相关问题:
https://nhibernate.jira.com/browse/NH-3726(换取Like())
https://nhibernate.jira.com/browse/NH-3829(对于Contains()的转义等)
但是,由于可以通过将%通配符括在括号中来禁用%通配符,因此您应该能够在调用Contains()之前自己执行此操作。当上述最终在NH中实施时,请注意并准备好处理这种情况。