多个属性上的C#Lambda .Contains()

Hug*_*sta 6 c# search lambda contains

我们使用以下方法生成搜索查询(使用NHibernate).

GetAll(x => x.Username.ToUpper().Contains(SEARCH)).ToList();
Run Code Online (Sandbox Code Playgroud)

是否可以对多个属性进行搜索(包含),例如...

    GetAll(x => x.Username.ToUpper().Contains(SEARCH) 
        && x => x.Firstname.ToUpper().Contains(SEARCH) 
        && x => x.Lastname.ToUpper().Contains(SEARCH)).ToList();
Run Code Online (Sandbox Code Playgroud)

使用C#

Nic*_*ers 6

GetAll(x => x.Username.ToUpper().Contains(SEARCH) 
        && x.Firstname.ToUpper().Contains(SEARCH) 
        && x.Lastname.ToUpper().Contains(SEARCH)).ToList();
Run Code Online (Sandbox Code Playgroud)

我想你会想要在OR上进行搜索:

GetAll(x => x.Username.ToUpper().Contains(SEARCH) 
        || x.Firstname.ToUpper().Contains(SEARCH) 
        || x.Lastname.ToUpper().Contains(SEARCH)).ToList();
Run Code Online (Sandbox Code Playgroud)