2010-04-07 2 views
0

검색하려는 여러 열이 있습니다. 내 열을 검색 할 때 내 코드가 아무 것도 통과하지 못할 수도 있습니다. 아래의 예에서 성 또는 이름은 빈 문자열 일 수 있습니다. 빈 문자열이있는 열을 검색 할 때마다 쿼리가 엉망이됩니다. 나는 그것이 빈 문자열인지 아닌지를 확인하여 문제를 해결했다. 그러나 검색 할 수있는 열이 많아서 if/thens가 많아 지거나 지저분해질 수 있습니다. 최선의 구현 방법에 대한 조언이 필요하십니까?잠재적 인 빈 매개 변수가있는 xml 쿼리에 linq가 전달되었습니다.

refinedresult = From x In theresult _ 
         Where x.<lastname>.Value.ToLower.Contains(LastName.ToLower.Trim) Or _ 
         x.<givenname>.Value.ToLower.Contains(FirstName.ToLower.Trim) Or    _ 
         Select x 

답변

0

당신은 비교를 수행하고 부울을 반환 x의 종류에 확장 방법을 구축 할 수 있습니다. 메서드는 비교할 참조 문자열을 가져야합니다. x이 null 인 경우 확장 메서드에서 false을 반환하십시오.

널 (null)이고 상황을 정상적으로 처리하는 참조에서 확장 메소드를 호출하는 기능은 정말 강력합니다.

+0

나는 제대로 작동하지 않지만 올바른 길로 가야한다고 생각합니다. 고맙습니다. –

관련 문제