2013-03-13 3 views
4

나는 동적으로 쿼리를 생성하고 해당 쿼리를 실행하는 저장 프로 시저와 함께 엔티티 프레임 워크를 사용하고 있습니다. 당신은 내가 '@Query' 변수를 실행하고 있음을 알 수 위의 SQL 코드에서저장 프로 시저 get 열 정보가 아무 것도 반환하지 않습니까?

Begin 
    DECLARE @Query nvarchar(MAX) 
    SET @Query = 'SELECT e.id, e.name, e.add, e.phno from employee' 
    EXEC sp_executesql @Query 
End 

, 그 변수 값을 동적으로 변경할 수 있습니다 것처럼 저장된 프로 시저 쿼리 보인다.

edmx 파일에 저장된 proc을 추가 할 수 있습니다. 그런 다음 모델 브라우저로 가서 Add function import라고 말하고 Get column information을 시도하면 아무 것도 표시되지 않습니다. 하지만 서버에 저장 프로 시저를 실행하면 값이있는 모든 열을 반환합니다. 모델 브라우저에서 열 정보를 가져 오지 못하는 이유는 무엇입니까?

+0

[Entity Framework에서 내 저장 프로 시저의 열 정보를 볼 수없는 이유는 무엇입니까?] (https://stackoverflow.com/questions/5996887/why-cant-entity-framework-see-my-stored-procedures- 열 정보) – Matt

답변

0

를 추가해보십시오 SET NOCOUNT ONBEGIN 후 ....이

+0

감사합니다 .. 이미 nocount 세트를 추가했지만 작동하지 않습니다 ... – swan

1

모델 브라우저는 결과에서 열 정보를 수집하기 위해 저장 프로 시저를 실행하지 않습니다. sys 테이블을 사용하여 기본 프로 시저 정의에서 열 정보를 가져 오려고합니다.

이 절차는 동적이므로 기본 정의가 없으므로 이와 같이 EDMX로 가져올 수 없습니다.

+0

감사합니다 ... 모델 bowser에서 열 정보를 얻는 다른 방법이 있습니까? – swan

+0

죄송하지만 주위를 둘러 볼 방법이 없습니다. –

+0

ok thanks ............ – swan

1

이 일시적으로 그런

SELECT TOP 1 e.id, e.name, e.add, e.phno from employee /* ... rest of your proc commented out */ 

에 저장된 프로 시저를 변경 EF에 추가하고 생성 "혼동"되도록 할 수있는 메시지를 진압 할 것을 함수 가져 오기 (열을 볼 수 있습니다).

그런 다음 위 절차대로 프로세스를 다시 변경하십시오.

관련 문제