实体框架一对多查询

时间:2015-08-21 04:27:29

标签: c# asp.net entity-framework

One to Many relationship

我有这个模型。

规则。

公司可以拥有多项服务

问题

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

问题

我该怎么做?我想到的第一个解决方案是先加入表,然后使用连接表中的lambda表达式。还有其他解决办法吗?

1 个答案:

答案 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)))