2010-06-30 7 views
1

나는 다음과 같은 간단한 LINQ 쿼리가 필요합니다. 문제는 DB의 SerialNumber가 nvarchar 유형이라는 것입니다. ContainerTypeID = 2 인 경우이 열의 값은 항상 정수이지만 0으로 채워지지 않습니다. 따라서 모든 일련 번호를 정수로 변환하지 않고 Max를 수행하면 작동하지 않습니다 (예 : Max는 '10'이상으로 '2'를 선택). 그래서, 내 질문에, 어떻게 행의 모든 ​​값을 캐스팅 할 수 있습니다. 정수 최대 정수 그래서 가장 큰 일련 번호를 찾을 수 있습니까?는 Linq에 쿼리 도움말

+0

Max ... (Max = 행> Convert.ToInt32 (row.SerialNumber)) 호출에 int 변환을 넣을 수 없습니까? –

답변

0

나는이 방법으로 캐스팅을 시도했고 효과가 있었다.

(from container in Container 
join containerType in ContainerType on container.ContainerType equals containerType 
where containerType.ContainerTypeID == 2 
select container).Max (row => Convert.ToInt32(row.SerialNumber)) 

그러나 row.SerialNumber의 값이 int보다 크거나 잘못된 값인 경우 예외가 발생합니다.

+0

감사합니다. 파스를 사용하여 시도했기 때문에 오류가 발생했기 때문에 나는 캐스팅하지 못했습니다. –