Im Moment lade ich meine Ergebnisse wie folgt ab:
%Vor%Aber jetzt versuche ich, bis zu 8 bedingte Where-Klauseln auf der Grundlage von Filtern oberhalb meiner Listenansicht hinzuzufügen.
Also habe ich mich umgedreht:
%Vor%Wie kann ich für jeden Filter eine Überprüfung durchführen, um eine where-Klausel nur hinzuzufügen, wenn sie einen Wert enthält?
Es gibt keinen Grund, warum Sie die Ergebnisse nicht weiter filtern können, indem Sie .Where
mehrmals aufrufen. Aufgrund der verzögerten Ausführung von LINQ to SQL wird alles in einer SQL-Anweisung ausgeführt:
Wenn Sie jemals ODER-Bedingungen hinzufügen müssen, können Sie sich PredicateBuilder ansehen.
>Sie könnten jede Filteroption mit einer ODER-Null-Bedingung gruppieren und sie alle zusammen mit AND verketten, so:
%Vor% Wenn also submissionId == null und claimId == "123", würde es nur die Ergebnisse von claimId filtern. Sie könnten jede null
durch eine leere Zeichenfolge oder was auch immer Ihre "Kein Wert" Bedingung ist ersetzen.