我想在 NHibernate 的查询中使用排序规则,显然唯一的方法(至少从我发现的)是通过添加一个 sql 表达式(我可以在 nHibernate 中自定义查询结果的排序规则吗?)
所以我有类似的东西
c.Add(Expression.Sql("Title COLLATE Divehi_90_BIN2 LIKE ?",
title,
NHibernateUtil.String))
但是,这与确切的字符串匹配,我想在两边都使用 % 。
Title COLLATE Divehi_90_BIN2 LIKE %?%
给我一个错误,
但在标题上填充它:"%" + title + "%"
作品。
我的问题是 - 有没有办法在 Expression.Sql 中正确提供参数,因为在两边使用 % 看起来像一个安全漏洞 - 我正在邀请查询注入。
PS。我无法在数据库级别更改列的排序规则,因为该列包含两种语言的数据。