nhibernate 引号字符替换为 \"

发布于 2024-10-20 06:01:26 字数 390 浏览 1 评论 0原文

您好,我使用 linq nhibernate 制作过滤器,一切正常,但是当我尝试使用 quote select 过滤文本时,什么都没有返回...

qr.Where(o => o.Desc.ToLower().Equals("some text")); // working
qr.Where(o => o.Desc.ToLower().Equals("some \"text\""));
// not working because nhibernate bind parameter as  'some \"text\"' but not  'some "text"'

它是一些 nhibernate bug?或者是否存在某些选项强制 nhibernate 将“替换为\”? 谢谢大家

Hi i making filter with linq nhibernate all working good but when i try filter text with quote select return nothing...

qr.Where(o => o.Desc.ToLower().Equals("some text")); // working
qr.Where(o => o.Desc.ToLower().Equals("some \"text\""));
// not working because nhibernate bind parameter as  'some \"text\"' but not  'some "text"'

Its some nhibernate bug? Or exist some option witch force nhibernate replace " with \" ?
Thanks for all

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白云悠悠 2024-10-27 06:01:26

它对我来说效果很好(刚刚尝试了你的确切代码)

你使用什么版本的 NH?

var foos = session.Query<Foo>()
                  .Where(o => o.Desc.ToLower().Equals("some \"text\""))
                  .ToList();

输出:

NHibernate:
    select
        foo0_.id as id0_,
        foo0_.[Desc] as Desc2_0_
    from
        Foo foo0_
    where
        lower(foo0_.[Desc])=@p0;
    @p0 = 'some "text"' [Type: String (4000)]

It works fine for me (just tried your exact code)

What version of NH are you using?

var foos = session.Query<Foo>()
                  .Where(o => o.Desc.ToLower().Equals("some \"text\""))
                  .ToList();

Output:

NHibernate:
    select
        foo0_.id as id0_,
        foo0_.[Desc] as Desc2_0_
    from
        Foo foo0_
    where
        lower(foo0_.[Desc])=@p0;
    @p0 = 'some "text"' [Type: String (4000)]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文