在我的数据库中,我有字符串类型字段:client_name
我试图通过他的名字进行搜索以找到客户
sclient =(sclient ??"")。ToLower();
var items = session.Query()。其中(x => 。x.Users.name.ToLower()包含(sclient));
请注意,Users.name是一个映射类。
当我执行简单搜索时,一切正常。现在当我的sclient为null时,搜索不会显示Client_name为空的任何项目!
如何在搜索查询后显示名称为null的客户端?
答案 0 :(得分:1)
如果要返回包含搜索字符串或其列值为null的记录,则为语法:
var items = session
.Query<MyEntity>()
.Where(x => x.Users.name.ToLower().Contains(sclient)
|| x.Users.name == null);
将执行以下操作:
// sql generated
WHERE lower(users1_.client_name) like (''%''+@p1+''%'')
OR usrs1_.client_name is null