2012-01-12 3 views
0

다소 혼란스러운 문제가 있습니다.DataTable의 LINQ

저는 VS Web Developer 2008에서 8 개월 전에 작성한 코드를 최근에 가져 왔습니다. 이제 2010 년으로 이전 했으므로 프로젝트를 업그레이드했지만 그렇지 않은 경우에는 동일합니다. 다음과 같은 코드로 인해 빌드되지 않습니다.

IMSDataSet.vwPartDataTable table = new IMSDataSet.vwPartDataTable(); 
     da.Fill(table); 

     //Convert to Parts 
     return table.Select<IMSDataSet.vwPartRow, Part>((row) => { return new Part(row); }).ToArray(); 

여기서 vwPartDataTable은 Visual Studio의 데이터 세트 디자이너를 사용하여 생성됩니다. 이제 주위를 둘러 보니 잘못된 코드 인 것처럼 보이고 거기에 AsEnumerable()이 필요합니다. 그러나 것은이다. 나는이 코드를 배포했다. 이 선들이 너무 많아서 어디에서나 사용 했으므로 효과가 있었을 것입니다.

프로젝트 업그레이드를 수행하면 .NET 4.0으로 모든 것이 옮겨졌지만 3.5로 되돌려 놓아도 아무 효과가 없었습니다.

아무도 빛을 비출 수 있습니까? 그 코드는 고객이 가지고있는 그대로 유지하기를 원합니다.

감사합니다.

+6

컴파일 할 때 표시되는 오류 메시지는 무엇입니까? –

+0

더 많은 컨텍스트를 게시 할 수 있습니까? –

답변

0

답변 해주십시오. 일부 SQL 구성 요소를 잘못 설치했습니다. 누락 된 패키지가 포함 된 .xsd (드래그 앤 드롭 데이터 테이블 디자이너)를 열려고하면 오류가 발생합니다. 이것은 제네릭 지원을 포함하지 않는 오래된 코드 나 기본 코드를 생성하는 커스텀 툴로 넘어 갔기 때문에, 사용했던 일반적인 LINQ 함수를 사용할 수 없었습니다.

Visual Web Developer와 .NET 4를 제거한 다음 다시 설치해야합니다. Visual Web Developer (VWD) 설치 관리자가 별도로 처리하는 대신 SQL Server 2008 R2 Express를 별도로 설치했습니다. 이것은 이전에 내가 한 것입니다.

0

.Net 2.0 기능인 경우 this popular SO question에 설명 된 추가 단계를 수행하면 Visual Studio 2010에서 해당 프레임 워크 버전을 타겟팅 할 수 있습니다.