char[] delimiter = new char[] {' '};
string[] names = name.Trim().Split(delimiter, StringSplitOptions.RemoveEmptyEntries);
employees = (List<CMSUser>)employees.Where(
e =>
(e.FirstName.Contains(names[0]) && e.LastName.Contains(names[1])) ||
(e.LastName.Contains(name[0]) && e.FirstName.Contains(name[1]))
)
上記では、Linq ラムダを使用して従業員リストをクエリしようとしています。入力ボックスに入力された検索語をスペース文字で分割し、それを使用して、一致する (FirstName && LastName) OR (LastName && FirstName) の 2 つの検索語をスペースで区切った従業員リストから取得する必要があります。
クエリ条件で何が間違っているのかわかりません。一致する条件を与えるのではなく、リスト内のすべての従業員を返しています。