C# Nhibernate Queryover不区分大小写的IsIn

C# Nhibernate Queryover不区分大小写的IsIn,c#,nhibernate,queryover,C#,Nhibernate,Queryover,我有这个示例代码 Result = session.QueryOver<Lfee_Exc>().WhereRestrictionOn(x => x.FirstName) .IsIn(ListOfFirstNames).List(); Result=session.QueryOver().WhereRestrictionOn(x=>x.FirstName) .IsIn(ListOfFirstNames.List(); 对于区分大小写的Oracle server,有没有办法将此

我有这个示例代码

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

对于区分大小写的Oracle server,有没有办法将此大小写设为INSTIVE或大写的x.ArNumber?

将ListOfFirstNames转换为upercase,然后:

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

不要认为使用IsIn是可行的,因为该操作在ICriteria中不可用。(基础实现的QueryOvers解析为criteria。)不过有一个类似IsInsensitiveLike的lambda限制运算符。谢谢。有内置SQLFunction的列表吗?在google上似乎找不到详尽的列表。@gt124:它们因方言而异,标准的在中,在中查找特定的(请记住继承链:MSSQLS2008继承自MSSQLS2005等)@DiegoMijelshon您有到上述资源的更新链接吗?(我知道这个答案已经8岁了,所以如果你不再从事NHibernate的工作,那就完全明白了)@ahsteele new root是的,所以那将是我绝对不会做任何NHibernate的开发,但在我心中有一个特殊的位置:——)@DiegoMijelshon我以为我也完成了,但又被吸进了。谢天谢地,这就像骑自行车回来一样。