c# -  Entity Framework 一对多查询-LMLPHP

我有这个模特。

规则。

一个公司可以提供多种服务

问题

用户可以输入服务名称列表(字符串列表),然后可以检索具有该服务列表的公司。



我怎样才能做到这一点?我想到的第一个解决方案是先联接表,然后使用联接表中的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)))

10-06 07:35
查看更多