2016-07-21 40 views
1

Ich habe folgende Frage:Konvertieren eines GroupBy/Mit SQL-Abfrage Linq oder EF-Abfrage

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

wo ist ‚tag1‘ und ‚tag2‘ ist die Elemente eines List<string>, die ich meine Funktion übergeben. Ich möchte wissen, wie man es in Entity Framework oder Linq-Abfrage konvertiert.

+0

Siehe meine Antwort auf Ihre vorherige Frage. –

Antwort

2

können Sie Contains Erweiterungsmethode verwenden:

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