gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:07:49 24 4
gpt4 key购买 nike

有什么方法可以判断一个字符串是包含列表的部分元素还是包含列表的所有元素?对实体使用 linq?

我一直在尝试使用 predicateBuilder 和其他工具,但我对这些没有 %100。

编辑

类似于:

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();

最佳答案

您需要反向使用 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();

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

要匹配用户 fullName 中的所有 ,请使用All:

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();

关于c# - EF linq/lambda .contains(list[String])?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16816820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com