【发布时间】:2016-11-24 10:49:53
【问题描述】:
我需要一个 Linq 查询,如果不是所有行都有来自每个 hardware_id 列的 List<string> 中的匹配字符串,则该查询将返回 null。
我有下表:
- id (int) - 主键
- 名称(字符串)
- user_id (int)
- hardware_id (int)
我有一个包含短语的List<string>。如果列表中的所有短语在名称行中都有匹配的字符串,我希望查询返回 hardare_id 编号。如果其中一个短语没有name 匹配,则返回 null 并且如果所有短语的每个 hardware_id 都存在所有短语,则查询应返回这些 hardware_id 中的每一个都具有完整的 hardware_id 列表匹配列表中的所有短语。
或者换句话说,返回一个 hardware_id 的列表,每个 id 的所有 name 都与 List<string> 中的匹配。
我曾考虑在不同的查询中迭代每个 Id,但这不是一种有效的方法。也许你知道一个很好的查询来解决这个问题。 我正在使用实体框架 6/C#/MySQL
注意:查询仅针对每个用户 ID 进行。所以我先通过User Id过滤表,然后需要找到满足条件的匹配hardare_id。
【问题讨论】:
标签: c# sql entity-framework linq entity-framework-6