我有这个模特。
规则。
一个公司可以提供多种服务
问题
用户可以输入服务名称列表(字符串列表),然后可以检索具有该服务列表的公司。
题
我怎样才能做到这一点?我想到的第一个解决方案是先联接表,然后使用联接表中的lambda表达式。还有其他解决方案吗?
最佳答案
您可以使用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)))