Linq optionale Parameter

7

Ich habe eine linq-Abfrage. Ich habe eine Reihe von Parametern aus einem Formular, das ich sammle, wo ich nach Feldern filtern muss, nach denen der Benutzer sucht.

%Vor%

Ich habe ein paar mehr nicht-String-Feldfilter, die ich filtern muss, einschließlich lang und boolean. Sie könnten Nullen sein, wenn der Benutzer nichts auswählt. Wie schließe ich sie in die Abfrage ein?

    
desiguy 05.04.2012, 15:00
quelle

2 Antworten

16

Dies ist eines der besten Beispiele dafür, warum LINQ so mächtig ist - verzögerte Ausführung. Sie können die Abfrage in verschiedenen Phasen aufbauen, und nur wenn die Abfrage schließlich ausgeführt oder aufgelöst wird, wird die SQL-Anweisung generiert:

%Vor%     
Yuck 05.04.2012, 15:02
quelle
5

Wenn die Abfrage kein bestimmtes Feld enthält, müssen Sie sie nicht als Teil der where-Klausel einfügen:

%Vor%

Sie können Prädikate auf diese Weise bedingt verschachteln, um sicherzustellen, dass Sie nur die Bedingungen haben, die Sie wirklich benötigen.

    
recursive 05.04.2012 15:04
quelle

Tags und Links