2010-06-16 6 views
1

가정하자 내가 ALTER가 PROCEDURE [DBO]. MySP] 하는 것에 edmx에엔티티 프레임 워크에서 SP의 동적 SQL 결과를 얻는 방법은 무엇입니까?

declare @sql varchar(4000) 
select @sql = 'select cnt = count(*) from Mytable ..... '; 
exec (@sql) 

END 

을 BEGIN 동적 SQL 를 실행할 SP 따라 한 I이 SP의 SP 및 가져 오기 기능을 추가한다. 반환 유형은 스칼라 int32입니다.

는 내가 좋아하는 코드에서이 기능을 사용하려면 : "암시 적으로 int로 형 System.Data.Objects.ObjectResults을 변환 할 수 없습니다"

int? result = context.MySP(); 

내가 오류가 말했다있어

경우 사용할

var result = context.MySP(); 

다음 싱글() context.MySP에 적용 할 수 두지().

이 사례에 대한 결과를 얻으려면 어떻게해야합니까?

내가 같은 일을했다

답변

1

이미이 문제를 해결하지만, 수도 ...; 내가 스칼라 및 INT32를 선택 그래서 내 절차가 정수를 반환하고, 그것은 물론 System.Data.Objects.ObjectResult

반환 된 문제는 윈도우의 상태는 (강조 광산) "의 컬렉션를 돌려"입니다.

Durr.

[스칼라] 대신 [없음]을 선택하면 적절한 결과 (int)가 반환됩니다.

0

결과 데이터 유형을 System.Nullable<int>으로 변경하십시오. this post을 참조하십시오.

관련 문제