2013-09-23 6 views
0

나는 저장된 proc을 가지고있다. 각 상점에 대해 다양한 열을 반환합니다. 예를 들어SQL에 linq의 다양한 열을 반환하는 proc를 실행

- 결과가 그것을 반환 10

(I) 가게 5 개 메트릭을 가지며, 그것은 그 제

숍 (10)이있는 경우 (II)에 관련된 데이터를 반환 proc에서 동적 SQL 쿼리 반환에서.

이 proc을 linq에서 sql로 어떻게 실행할 수 있습니까? Linq는 proc을 실행하기 전에 .dbml의 컬럼을 직접 정의 할 것을 기대하고 있으며, 컬럼을 알지 못합니다.

누가 SQL에 linq 가능한 경우 누군가 조언을 할 수 있습니까 ???

미리 감사드립니다 ...

+0

어떤 조언을 pls? – mmssaann

답변

0

종류에 따라 다릅니다.

열의 수에 대한 하드 상한이 있는지 알고 계십니까?

이 경우 생성자는 모든 속성을 설정함으로써, 당신은 "짐승"을 속성 Column1 ... ColumnN을 대표로하는 클래스를 만들어 null로 수 있으며, 원하는 경우 다음이 결과는 자동으로 매핑 다음 DataContext.ExecuteQuery 곳을 사용할 수 있습니다 T = 방금 만든 수업.

그러나 실제로 알려진 상한이있는 경우에만 작동합니다. 그렇지 않으면 Linq2Sql을 사용하여 알 수없는 수의 열을 자동으로 동적으로 매핑 할 수 없습니다. Linq2Sql에서 테이블이나 저장 프로 시저를 매핑 할 때 일어나는 모든 일은 실행시 변경되지 않는 속성의 수를 설정하여 .cs 파일의 클래스가 생성된다는 것을 명심하십시오.

이 경우 System.Data.DataTable 또는 이와 비슷한 값을 사용하거나 개체를 실제로 사용하려면 자신의 DataTable-> 개체 매퍼를 쓰는 것이 좋습니다. 수신 클래스는이 개 속성의 "열"에 대한 하나를 갖는, 반환 여러 행 대신 열를 - 쿼리를 돌리 수있는 경우

당신이 결과를 검색하는 SQL을 제어하는 ​​경우, 고려해야 할 또 다른 점은 이름과 행 값에 대한 다른; 이걸로 잘 작동 DataContext.ExecuteQuery

관련 문제