将GroupBy /具有SQL查询转换为Linq或EF查询

时间:2016-07-21 15:13:44

标签: sql entity-framework linq linq-to-sql entity-framework-6

我有以下查询:

SELECT planet_id 
FROM tags 
WHERE name IN ('tag1', 'tag2') 
GROUP BY hardware_id 
HAVING COUNT(name) = 1;

其中&#39; tag1&#39;和&#39; tag2&#39;是我传递给我的函数的List<string>的项目。我想知道如何将其转换为Entity Framework或Linq查询。

1 个答案:

答案 0 :(得分:2)

您可以使用Contains扩展方法:

var tags=new List<string>{"tag1", "tag2"};
var query= from t in context.Tags
           where tags.Contains(t.Name)
           group t by t.hardware_id into g
           where g.Count()==1