EF linq/lambda .contains(list [String])?

Eri*_*cGS 4 c# linq entity-framework entity-framework-5

有没有办法评估一个字符串是否包含列表的某些元素或列表的所有元素?使用linq实体?

我一直试图使用谓词构建器和其他人,但我不是%100进入thoses.

编辑

就像是:

string[] words = searchString.Split(' ');

var resultado = db.users
                        .Where(u => u.fullName.contains(words) )
                                .Select(s => new { user_id = s.id_user, nombre = s.fullName})
                                .ToList();
Run Code Online (Sandbox Code Playgroud)

mat*_*mmo 13

您需要反转使用Contains以检查words集合fullName:

string[] words = searchString.Split(' ');

var resultado = db.users
    .Where(u => words.Contains(u.fullName))
    .Select(s => new { user_id = s.id_user, nombre = s.fullName})
    .ToList();
Run Code Online (Sandbox Code Playgroud)

这将匹配数组中的一个项目words.

要匹配用户的所有内容,请使用:wordsfullNameAll

var resultado = db.users
    .Where(u => words.All(w => u.fullName.Contains(w))
    .Select(s => new { user_id = s.id_user, nombre = s.fullName})
    .ToList();
Run Code Online (Sandbox Code Playgroud)