2017-06-09 6 views
0

Ich verwende .Net 4.5.2 und MongoDB. Was ich machen will, ist nur eine einfache Abfrage, die Benutzerliste aus der Tabelle mit gegebenem Benutzer Vorname, Nachname usw. bekommt. Ich schrieb;Einfache Formularabfrage

var Users = DataAccess.DbLoad<User>().Where(UserInfo => 
     ((FirstName == null || FirstName == "") || UserInfo.FirstName == FirstName) && 
     ((LastName == null || LastName == "") || UserInfo.LastName == LastName) 
     ).ToList(); 

Aber wenn ich einen Namen und klicken Sie für die Suche zu schreiben, macht es keinen Rekord bringen, aber wenn ich db überprüfen, ich sehe es da ist.

Vorname Suche Fiedl: null

Nachname Suchfeld: Lule

Tabelle: Vorname: "Ahmet", Name: "Lule"

Wie kann ich dieses Problem lösen? Was ist das Problem?

+0

Sie haben Ihre Tabellendaten zu zeigen, und Text in Ihrem question.Maybe Ihr Vorname passend ist nicht – jitender

+0

suchen "Aber wenn ich einen Nachnamen schreibe und auf Suche klicke, bringt das keinen Eintrag, aber wenn ich db überprüfe, sehe ich, dass es da ist." Ich hab geschrieben. – Gyepesto

+0

"Vielleicht stimmt Ihr Vorname nicht überein", deshalb bitte ich Sie, die Daten anzuzeigen – jitender

Antwort

0

Entfernen Sie einfach den & & Zustand, wenn Sie in beiden Feldern Wie folgen suchen mögen: -

var Users = DataAccess.DbLoad<User>(); 
If(FirstName != null){ 
users=users.Where(u => u.FirstName.ToLower().Equals(FirstName.ToLower())) 
} 
If(LastName != null){ 
users=users.Where(u => u.LastName .ToLower().Equals(LastName .ToLower())) 
} 
+0

Wenn ich dies tue, bringt es alle Daten aus der Tabelle. Es sucht nicht nach Vorname oder Nachname. – Gyepesto

+0

Siehe meine bearbeitete Antwort – jitender