【问题标题】:Like doesn't escape special characters NHibernateLike 不会转义特殊字符 NHibernate
【发布时间】:2015-07-23 03:23:00
【问题描述】:

我对 NHibernate LINQ contains 方法有疑问,因为我想转义字符串中的特殊字符,例如,如果我键入:

lel%lel

我想准确地找到

lel%lel but not lel4325234534lel

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

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

我也尝试使用likeexpression,但也没有用。

【问题讨论】:

    标签: c# sql linq nhibernate


    【解决方案1】:

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

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

    即用 [%]

    替换 C# 中的任何 %
    lel[%]lel 
    

    这将返回预期的结果

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

    【讨论】:

    • 我想我什么都试过了,但解决方法很简单……谢谢!
    • 如果有帮助就太好了!享受很棒的 NHibernate ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多