2016-12-01 5 views
0

In meinem Programm sollte ein Element nur erstellt werden, wenn das Programm bestimmt, dass das Element nicht bereits in der Sammlung enthalten ist.Linq Lookup mit mehreren Bedingungen

Hier ist mein Code zum Durchlesen. Es funktioniert nicht und ich kann nicht herausfinden warum.

  foreach(var user in db.Gebruikers) 
      { 
       foreach(var parameter in db.ParametersWerkvorms) 
       { 
        if(db.ZoekresultaatWerkvorms.Where(r => r.Werkvorm.Equals(parameter.Naam))) // ?????? 

// If user.username = db.ZoekresultaatWerkvorms.item.username && parameter.naam == db.ZoekresultaatWerkvorms.item.parameter{ 
        var newItem = new ZoekResultaatParameter(); 
        newItem.Parameter = parameter.Naam; 
        newItem.Opgezocht = 0; 
        newItem.Gebruikersnaam = user.Gebruikersnaam; 
// Write newItem to database 
       } 
      } 
     } 
+0

Mit '.Where' Gibt ein' IEnumerable' enthält Elemente, die die Klausel übergeben. Sie können überprüfen, ob dieses IEnumerable Elemente enthält oder nicht. – RandomStranger

+0

Wie kommt 'if (db.ZoekresulttaatWerkvors.Where (r => r.Werkvorm.Equals (parameter.Naam))) // ??????' gibt Ihnen keinen Build-Fehler? – user3150546

Antwort

2

.Where gibt ein IEnumerable<T> Sie eine bool benötigen.

Versuchen Sie so etwas wie: if(db.ZoekresultaatWerkvorms.Any(r => r.Werkvorm.Equals(parameter.Naam)))

+0

Danke, das funktioniert. :) Schätze, ich hätte auch .length verwenden können, um einen booleschen Wert zu finden. – user3117628

Verwandte Themen