2016-07-28 36 views
0

Diese Abfrage gibt Tür-IDs zurück, bei denen die Tür-ID alle zugehörigen Tags enthält.Konvertieren Sie eine Llinq-Abfrage von Alle Übereinstimmungen in OR (mindestens ein Tag muss übereinstimmen)

Wie kann ich die Abfrage so ändern, dass Ergebnisse zurückgegeben werden, die mindestens einem Tag entsprechen ('ODER')?

+0

@a_pferd_mit_nr_name überprüfen Sie dies. –

+0

Es gibt nur diejenigen zurück, die beide übereinstimmen. –

+0

Falsche Abfrage, Aktualisiere die Frage –

Antwort

1

Sie sollten Contains() Methode auf tags Sammlung verwenden. Hier sind Sie:

List<decimal> matchingDoors db.tags 
    .Where(x => x.user_id == userId && (null == SystemId|| x.syid == SystemId)) 
    .GroupBy(x => x.door_id)   
    .Where(x => x.Any(y => tags.Contains(y))) //this is where magic 
    .Select(x => x.Key).ToList<decimal>(); 
+0

schön. danke mein Freund. –