我一直在互联网上搜索,找不到关于如何使用nhibernate 3.0的queryover的示例
例如,我想在queryover的where子句上使用字符串函数
前任:
var item = Query.Where(x => x.Name.ToLower() == name.ToLower()).FirstOrDefault();
但这是行不通的,因为nhibernate无法理解ToLower,那么如何以可能的方式扩展方言呢?
最佳答案
session.QueryOver<Foo>()
.Where(Restrictions.Eq(
Projections.SqlFunction("lower", NHibernateUtil.String,
Projections.Property<Foo>(x => x.Name)),
name.ToLower()))
应该让你像
where lower(Name) = @p0
这样的SQL关于nhibernate - 我可以在NHibernate QueryOver中使用SQL函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5966986/