Like 不会转义特殊字符 NHibernate

Like doesn't escape special characters NHibernate

我在使用 NHibernate LINQ contains 方法时遇到问题,因为我想转义字符串中的特殊字符,例如,如果我键入:

lel%lel

我想准确找到

lel%lel but not lel4325234534lel

为了查找值,我使用以下方法:

tabArray = _session.Query<Tab>()
                    .Where(x => x.attr.Contains(query))
                    .ToArray();

我也尝试使用 likeexpression 但它也没有帮助。

我想说,这应该取决于我们(我们的代码)而不是 NHibernate。我们可以使用这个:

How do I escape a percentage sign in T-SQL?

即将 C# 中的任何 % 替换为 [%]

lel[%]lel 

这会 return 预期的结果

.Where(x => x.attr.Contains(query)) // query == "lel[%]lel"