IQueryable.Where-Klausel UND arbeitet nicht mit mehreren such-Parametern

Ich habe ein Problem mit dem Erhalt einer Suche Mehrere arbeiten mit ein IQueryable.Where-Klausel mit dem operator AND. Ich weiß, dass das problem ist, wenn ein parameter leer oder null, er ist auf der Suche nach einer "" mit der anderen parameter und keine Rückgabe, aber ich will nicht müssen gehen durch eine erweiterte und lächerlich verschachtelte wenn-check für Nullen oder Leerzeichen auf 8 Parameter. Ich habe gegoogelt, dieses für die Tage, die ODER funktioniert das offensichtlich, aber der Zustand UND gibt nichts zurück.

albums = albums.Where(a => a.CA_AlbumName.ToUpper().Contains(searchName.ToUpper()) && 
                           a.CA_AlbumURL.ToUpper().Contains(searchURL.ToUpper()));

Den oben genannten Werken, wenn beide Parameter nicht leer, aber nichts zurückgibt, wenn einer von Ihnen ist. Ich habe versucht, den Bau der where-basierend auf nicht null, wie unten, aber gleiche Ergebnisse:

if (!String.IsNullOrEmpty(searchName))
{
    albums = albums.Where(a => a.CA_AlbumName.ToUpper().Contains(searchName.ToUpper()));
}
if (!String.IsNullOrEmpty(searchURL))
{
    albums = albums.Where(a => a.CA_AlbumURL.ToUpper().Contains(searchURL.ToUpper()));
}    
InformationsquelleAutor user1060406 | 2011-11-22
Schreibe einen Kommentar