是否可以在Where()中对两个不同的属性进行查询?例如,我想获取所有在FirstName和LastName属性中包含“Robert G”的用户。如果我这样做:
var contacts = _session.All<Contact>()
.Where(x => x.IsActive
&& (x.FirstName.ToLower().Contains(q.ToLower())
|| x.LastName.ToLower().Contains(q.ToLower())));
我将不会得到“Robert G”的结果,因为FirstName包含“Robert”和LastName“Gambonni”。
我还考虑过创建一个新属性FullName,它只是一个Getter但是我必须先加载它们,因为我的属性不在数据库中。
有什么建议吗?非常感谢!
答案 0 :(得分:6)
怎么样:
var contacts = _session.All<Contact>()
.Where(x => x.IsActive
&& ((x.FirstName.ToLower() + " " + x.LastName.ToLower()).Contains(q.ToLower())));