0

是否可以在 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,但是我必须先加载它们,因为我的属性不在数据库中。

有什么建议么?非常感谢!

4

1 回答 1

6

怎么样:

var contacts = _session.All<Contact>()
    .Where(x => x.IsActive
                && ((x.FirstName.ToLower() + " " + x.LastName.ToLower()).Contains(q.ToLower())));
于 2012-08-01T21:13:05.927 回答