【问题标题】:Nhibernate Queryover Case Insensitive IsInNhibernate Queryover 不区分大小写的 IsIn
【发布时间】:2011-03-29 20:39:52
【问题描述】:

我有这个示例代码...

Result = session.QueryOver<Lfee_Exc>().WhereRestrictionOn(x => x.FirstName)
.IsIn(ListOfFirstNames).List();

对于我的区分大小写的 Oracle 服务器,有什么方法可以使这个大小写不敏感或大写 x.ArNumber?

【问题讨论】:

  • 不要认为 IsIn 可能,因为该操作在 ICriteria 中不可用。 (QueryOvers 底层实现被解析为条件。)虽然有一个 IsInsensitiveLike lambda 限制运算符。

标签: c# nhibernate queryover


【解决方案1】:

将 ListOfFirstNames 转换为大写,然后:

session.QueryOver<Lfee_Exc>()
    .Where(Restrictions.In(Projections.SqlFunction(
                              "upper", NHibernateUtil.String,
                               Projections.Property<Lfee_Exc>(x => x.FirstName)),
                           ListOfFirstNames))

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-12-01
  • 2013-03-06
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
相关资源
最近更新 更多