我有这个模型。
规则。
公司可以拥有多项服务
问题
用户可以输入服务名称列表(字符串列表),然后可以检索具有该服务列表的公司。
问题
我该怎么做?我想到的第一个解决方案是先加入表,然后使用连接表中的lambda表达式。还有其他解决办法吗?
答案 0 :(得分:2)
您可以使用Where()
:
Companies.Where(c => requiredServices.All(s => c.Services.Contains(s)))
如果使用List<string>
,则:
Companies.Where(company => serviceNames.All(
serviceName => company.Services.Any(service => service.Service_Name == serviceName)))