gpt4 book ai didi

queryover - NHibernate 3 - 如何对 id/numeric/int 执行 LIKE

转载 作者:行者123 更新时间:2023-12-02 10:22:15 27 4
gpt4 key购买 nike

虽然 SQL Server 非常适合执行以下操作:

where Id like '45%'

(id 是一个 int),NH 会提示,因为在执行以下操作时,它仍然会尝试将比较值作为 int 类型的 SqlParameter 发送到 sql:

q.WhereRestrictionOn(cl => cl.CompanyId).IsLike(companyIdFilter)

那么如何使用新的 QueryOver API 来解决这个问题呢?

最佳答案

经过一番挖掘和反复试验后,这可以解决问题:

q.Where(Expression.Like(
Projections.Cast(
NHibernateUtil.String,
Projections.Property<ChangeLog>(cl => cl.CompanyId)),
companyIdFilter.Value.ToString(),
MatchMode.Start
));

关于queryover - NHibernate 3 - 如何对 id/numeric/int 执行 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7484257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com