c# - Nhibernate Queryover Case Insensitive IsIn

标签 c# nhibernate queryover

我有这个示例代码...

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

有什么方法可以使我的区分大小写的 Oracle 服务器不区分大小写或大写 x.ArNumber?

最佳答案

将 ListOfFirstNames 转换为大写,然后:

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

关于c# - Nhibernate Queryover Case Insensitive IsIn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478643/

相关文章:

c# - 为什么在 Delphi 中循环比 C# 更快?

c# - Fluent NHibernate 一对一映射

c# - NHibernate 映射属性 + 脏检查

c# - 为什么 IQueryOver 有 2 个类型参数?

c# - 在 WinForm 应用程序中将显示与业务逻辑分离

c# - 如何从 RavenDB 数据库中获取所有实体名称(集合名称)?

c# - 如何避免或跳过一些用于 XUnit 测试的私有(private)方法?

c# - NHibernate session 管理?

c# - 如何在 nhibernate 查询中添加 groupby?

c# - nHibernate 不解析所有字段的属性