2012-11-20 5 views
0

linq의 문자열 비교 쿼리에 문제가 있습니다. statidype을 원하는 "문자열"이라고 말하면서 statusid를 원합니다. 다음은 심지어 내 목록 statuses 0의 수를 보여주는linq의 문자열 비교 결과가 잘못되었습니다

var result = (from Roaster_RequestStatus status in statuses 
         where status.StatusName.Equals("Draft") 
         select status).ToList<Roaster_RequestStatus>(); 

그러나 result는 "초안" 도 내가 i에 대한 값 0을 제공 쿼리 아래 시도로 StatusName이 포함 된 쿼리를합니다.

var i = (from Roaster_RequestStatus status in statuses 
         where status.StatusName.Equals("Draft") 
         select status.StatusID).Distinct().FirstOrDefault(); 

구문 또는 논리적 오류가 발생하면 도와주세요이 작동합니다

+1

는 공백이 선행 또는 후행 할 수있는 상태 이름을 트리밍 시도 . 'status.StatusName.Trim(). Equals ("Draft")'를 시도해보고 양쪽 모두에 대소 문자가 같은지 확인하십시오. 당신은 시도 할 수 있습니다. 'status.StatusName.Equals ("Draft", StringComparison.StringComparer.InvariantCultureIgnoreCase)' – Habib

+0

@ Habib : 공백이 없습니다. –

+0

예제 데이터와 클래스 정의를 보여줄 수 있습니까? –

답변

1

코드에 존재 : -

var result = (from Roaster_RequestStatus status in statuses 
         where status.StatusName.Contains("Draft") 
         select status).ToList<Roaster_RequestStatus>();