Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Anfänger-Frage zu LINQ: Mehrere Where()-Ausdrücke


mannyk - Fr 06.08.10 15:35
Titel: Anfänger-Frage zu LINQ: Mehrere Where()-Ausdrücke
Hallo!

Ich möchte mit mehreren Schlüsselwörtern gern aus einer Liste Daten herausholen. Das Problem ist, dass die Schlüsselwörter auch leer ("") sein können.
Sind die Schlüsselwörter leer, sollen sie natürlich nicht in die Suche miteinbezogen werden.

C#-Quelltext
1:
2:
3:
4:
5:
list = addresses
                .Where(x => x.FirstName == firstName && firstName != "")
                .Where(x => x.LastName == lastName && lastName != "")
                .Where(x => x.Street == street && street != "")
                .ToList();


Mein Code führt aber leider nicht zum gewünschten Ergebnis.

Danke für eure Hilfe,
mannyk

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Ralf Jansen - Fr 06.08.10 15:44

Du wolltest wohl eher


C#-Quelltext
1:
.Where(x => x.FirstName == firstName || firstName == "")                    


Die anderen ~where~ Methoden entsprechend. Die kannst die drei Bedingungen auch einfach in einem where zusammenfassen ist vermutlich performanter.