방법저장 프로 시저는 int를 돌려 내 웹의 목록을 반환하려고
SQL 서버에서 실행될 때 내 저장 프로 시저 "GetProductsByProductID는"EXEC sp_name를 사용하여 두 개의 coloumns을 반환 @ 매개 변수
그러나 C# 컨텍스트에서 데이터베이스에서 모델을 업데이트 할 때 반환 값으로 int가 표시됩니다.
나는 SP를 삭제하고 다시 생성 한 다음 모델을 업데이트하려고 시도했다. 작동하지 않는 것 같습니다. 누군가가 이것에 대한 해결책을 가지고 있다면 정말 도움이 될까요?
내 SP 코드 : 내가 한
CREATE PROCEDURE [dbo].[GetProductNameIDsByProdNumber] (@prodList nvarchar(max))
AS
BEGIN
SET NOCOUNT ON
DECLARE @Err int
CREATE TABLE #tempProduct (
ProductNumber int
)
INSERT INTO #tempProduct (ProductNumber)
SELECT
*
FROM SplitString(@prodList, ',')
SELECT
c.ProductID,
c.ProductName
FROM dbo.Product AS c
INNER JOIN #tempProduct
ON c.ProductNumber = #tempProduct.ProductNumber
DROP TABLE #tempProduct
SET @Err = @@Error
RETURN @Err
END
GO
결과 EXECUTE GetProductNameIDsByProdNumber @ prodList = '1111,4545'
ProductID ProductName
F6F1067B ABC
BD3B2D0A XYZ
모델 생성 SP, 나는 상황에서 데이터베이스에서 모델을 업데이트 할 때 파일
public virtual int GetProductNameIDsByProdNumber(string prodList)
{
var prodListParameter = prodList != null ?
new ObjectParameter("prodList", prodList) :
new ObjectParameter("prodList", typeof(string));
return ((IObjectContextAdapter)this).
ObjectContext.ExecuteFunction("GetProductNameIDsByProdNumber", prodListParameter);
}
저장 프로 시저에서 "RETURN @Err"오류를 반환합니다. Entity Framework에서이 값을 반환하고 있습니다. 당신이 저장 프로 시저에서 캐치를 시도하여 오류를 잡으십시오. – RookieRoll
왜'RETURN @ Err' 부분이 있습니까? 입력에 예외가 발생할 것으로 기대합니까? –
아니요, 해당 부분을 제거했거나 오류를 반환했지만 여전히 동일한 문제가 있습니다. @GertArnold –