将 GroupBy / Having SQL 查询转换为 Linq 或 EF 查询
Converting a GroupBy / Having SQL query to Linq or EF query
我有以下查询:
SELECT planet_id
FROM tags
WHERE name IN ('tag1', 'tag2')
GROUP BY hardware_id
HAVING COUNT(name) = 1;
其中 'tag1' 和 'tag2' 是我传递给函数的 List<string>
的项目。我想知道如何将其转换为 Entity Framework 或 Linq 查询。
您可以使用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
我有以下查询:
SELECT planet_id
FROM tags
WHERE name IN ('tag1', 'tag2')
GROUP BY hardware_id
HAVING COUNT(name) = 1;
其中 'tag1' 和 'tag2' 是我传递给函数的 List<string>
的项目。我想知道如何将其转换为 Entity Framework 或 Linq 查询。
您可以使用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