Entity-Framework: bedingter Filter

7

Nehmen wir an, ich habe die Customers-Tabelle und möchte sie folgendermaßen filtern:

  • Land: Alle, USA, Großbritannien, Kanada
  • Einkommen: Alle, niedrig, hoch, mittel
  • Alter: Alle, Teenager, Erwachsene, Senioren

Wenn ich eine SQL-Zeichenfolge für diesen Filter erstellen müsste, wäre das etwa so:

%Vor%

Grundsätzlich kann der Benutzer nach einigen, aber nicht notwendigen Feldern filtern.

Wie machen Sie das mit Entity Framework?

Danke!

    
David 13.07.2012, 07:11
quelle

2 Antworten

9

Sie können bedingte Parameter folgendermaßen hinzufügen:

%Vor%

Wenn eine Bedingung erfüllt ist (z. B. Land ist gleich All ), werden alle Parameterbedingungen wahr, und dieser Parameter filtert das Ergebnis nicht.

    
Sergey Berezovskiy 13.07.2012, 07:18
quelle
17

LINQ to Entity-Abfragen geben IQueryable zurück, sodass Sie Ihre Abfrage auf diese Weise erstellen können:

%Vor%

Dieser Fall ist fast zu einfach, aber dies ist sehr hilfreich in komplexeren Situationen, in denen Sie dynamisch filtern müssen.

    
Yakimych 13.07.2012 07:27
quelle

Tags und Links