C# 搜索表中是否有字符串列表中的任何字符串

C# 搜索表中是否有字符串列表中的任何字符串,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我从客户端得到一个字符串列表(他选择的项目),现在我需要从数据库返回结果。客户端请求是: List<string> campaignStrings 我使用“Contains”是因为“Name”列可能与搜索词不同 我做错了什么?如果要检查cam.Name是否出现在ActivityString列表中,则需要将where子句更改为: .Where(cam => campaignStrings.Any(x => x.Contains(cam.Name))) 试试这个解决方案

我从客户端得到一个字符串列表(他选择的项目),现在我需要从数据库返回结果。客户端请求是:

List<string> campaignStrings
我使用“Contains”是因为“Name”列可能与搜索词不同


我做错了什么?

如果要检查
cam.Name
是否出现在
ActivityString
列表中,则需要将
where
子句更改为:

.Where(cam => campaignStrings.Any(x => x.Contains(cam.Name)))
试试这个解决方案

var campaigns = ctx.V_CommercialCampaigns.Where(cam => campaignStrings.Contains((cam))).Select(id => id.Id).ToList();

有什么问题?是否有错误或无效结果?根本没有结果@PiotrWojsaCan您可以添加V|u商业活动中的行的示例吗?我猜您的查询将搜索name包含
292 | Mac/June 17
161 | Direct/June 17
的记录,您确定要这样做还是要做一个相反的操作?什么是
cam.name
?请提供一些示例。“x在当前上下文中不存在”。你是说“cam”吗?很高兴能帮上忙。
var campaigns = ctx.V_CommercialCampaigns.Where(cam => campaignStrings.Contains((cam))).Select(id => id.Id).ToList();