1
Simple.Data를 사용하여 저장 프로 시저의 출력 매개 변수에서 결과를 얻고 싶습니다. 이제 나는 다음과 SP (그것의 쓸모를 무시)가 있다고 가정 해 봅시다 :Simple.Data를 사용할 때 출력 매개 변수를 사용하여 SQL Server 저장 프로 시저 호출
CREATE PROCEDURE [dbo].[TestProc]
@InParam int,
@OutParam int OUTPUT
AS
BEGIN
SELECT @OutParam = @InParam * 10
END
내가 Simple.Data로를 호출 할 때, 나는 다음과 같은 코드를 사용합니다.
var db = Database.Open();
int outParam;
var result = db.TestProc(42, out outParam);
Console.WriteLine(outParam); // <-- == 0
Console.WriteLine(result.OutputValues["OutParam"]); // <-- == 420
OutParam에는 OutputValues 사전이 아닌 값이 있어야합니다. 그래서 내 질문은 :이 특별한 경우에 OutParam에서 결과를 얻는 더 좋은 방법이 있습니까?
인자로 outParam을 전송할 필요없이 호출 할 수 있다면 멋있을 것입니다. 그냥 db.TestProc (42); (나는 그것이 가능할지 모르겠다 ...) –
저장 프로 시저를 변경하고 출력 매개 변수의 기본값을 제공하면이를 전달할 필요가 없습니다. 은'PROCEDURE TestProc (@Answer INT, INT @Question OUTPUT = NULL)을 작성' 다음 db.TestProc '(42)' 잘 작동 할 것이다. –