2011-06-14 1 views
1

내 응용 프로그램에서 EF 코드 첫 번째 방법을 사용하고 있습니다. 보고서를 실행하고 동적으로 생성 된 필드가있는 결과 집합을 반환하는 쿼리를 실행해야합니다. 결과 세트의 필드는 조건에 따라 다를 수 있습니다. DataSet에서 코드 첫 번째 접근 방식을 사용하여 결과 집합을 반환 할 수 있습니까? 아니면이를 수행 할 다른 방법이 있습니까?EF - 동적으로 생성 된 필드가있는 SQL 쿼리/저장 프로 시저 실행

감사합니다.

+0

CTP5가 죽었습니다. 대신 EF 4.1을 사용하십시오. –

답변

2

(테스트되지 않음) 쿼리에서 반환 할 수있는 모든 가능한 열에 대한 속성을 갖는 데이터 형식을 정의 할 수 있습니다. 중첩 된 객체가없는 플랫 유형이어야하며 속성의 이름은 결과 집합의 열과 같아야합니다. 당신은 당신이 (당신의 데이터베이스에 관련 또는 버전) 표준 ADO.NET SqlDataAdapter 또는 SqlConnection/SqlCommand를 사용해야 만 반환 열이 DataSet을 원하는 경우에 당신은

var data = context.Database.SqlQuery<YourType>("Your SQL Query or SP call"); 

를 사용할 수 있습니다. EF는 고정 된 열 집합을 반환하지 않는 원시 쿼리를 좋아하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 한 가지 유형의 열이 너무 많습니다. 지금은 표준 ADO.Net 메소드를 사용하겠습니다. – MNIK

관련 문제