4

열이 null 일 수있는 경우 LINQ to SQL을 사용하여 여러 열을 어떻게 검색합니까? 개체의 인스턴스로 설정되지 않았습니다여러 열의 쿼리 포함

개체 참조 :

IEnumerable<User> users = from user in databaseUsers 
     where 
      user.ScreenName.Contains(search) 
      || user.FirstName.Contains(search) 
      || user.LastName.Contains(search) 
     select user; 

나는이 예외가 계속.

설명 요청을 처리하는 중 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 내용은 스택 추적 을 검토하십시오.

예외 정보 : System.NullReferenceException : 개체가 참조가 개체의 인스턴스로 설정되지 않았습니다.

답변

8

하지 널 조건 user.Property != null

IEnumerable<User> users = from user in databaseUsers 
    where 
     (user.ScreenName != null && user.ScreenName.Contains(search)) 
     || (user.FirstName != null && user.FirstName.Contains(search)) 
     || (user.LastName != null && user.LastName.Contains(search)) 
    select user; 
+0

널 오류가 어느 ScreenName이, 이름 또는 성이되는 널 의한을 추가 하였다. user.ScreenName! = null로 설정하고 그 주위를 둘러싸고 괄호()가있는 Contains 필터가 트릭을 수행했습니다. 감사. – LaundroMatt

0

사용자가 null 항목이거나 데이터베이스 사용자가 초기화되지 않았습니다.

2
IEnumerable<User> users = from user in databaseUsers 
where 
    (user.ScreenName + ' ' + user.FirstName + ' ' + user.LastName).Contains(search) 
select user; 
관련 문제