NHibernate Linq - 如何使用IS NOT NULL创建where语句

时间:2010-08-27 07:29:17

标签: nhibernate linq-to-nhibernate

如何使用Nhibernate Linq实现此查询?

var l = session.CreateQuery("from Auswahl a where a.Returnkey is not null").List<Auswahl>();

我尝试了这个,但它总是返回一个空列表。

var l = session.Linq<Auswahl>()
                   .Where(item => !String.IsNullOrEmpty(item.Returnkey))
                   .Select(item => item)
                   .ToList();

1 个答案:

答案 0 :(得分:7)

你试过了吗?

var l = session.Linq<Auswahl>()
                   .Where(item => item.Returnkey != null && item.Returnkey != "")
                   .Select(item => item)
                   .ToList();

我不确定使用String.IsNullOrEmpty是否可行,它还会检查两个条件 - 如果它是NULL并且它是一个空白的空字符串,那么它将如何转换为SQL?可能值得查看SQL事件探查器以查看它生成的原始SQL查询。