2013-01-25 4 views
0

일부 레코드를 삭제하고 성공한 else 1을 반환하는 저장 프로 시저를 실행하는 데 EF 4.3을 사용하고 있습니다. sp 실행할 때 (this.DbContext.Database.ExecuteSqlCommand (sql, id)) 나는 -1을 얻는다. 그것은 내가 기대하는 것이 아니다.엔터티 프레임 워크 및 저장 프로 시저

누군가가 저에게 무엇이 잘못되었는지 말해 줄 수 있습니까?

는 기본적으로 저장 프로 시저는 매우 간단합니다 :

BEGIN TRY 
    -- Delete records here 
END TRY 

BEGIN CATCH 
    IF @@TRANCOUNT > @BeginTranCount 
     ROLLBACK TRANSACTION 
    RETURN 1 
END CATCH 

IF @@TRANCOUNT > @BeginTranCount 
    COMMIT TRANSACTION 
RETURN 0 

는 또한 SP는 밖으로 변수 값을 반환하지 않습니다.

+0

당신의'storeProcedure'를 공유하시기 바랍니다. – spajce

답변

0

우리는 정말 당신의 코드를 볼 필요가 있지만 일반적인 방법은 다음과 같습니다

SqlParameter parm = new SqlParameter() { 
    ParameterName = "@MyID", 
    SqlDbType = SqlDbType.Int, 
    Direction = System.Data.ParameterDirection.Output 
}; 

Database.ExecuteSqlCommand("exec @MyId = dbo.MyProc", id); 
int retyrnedId = (int)id.Value; 
관련 문제