하나의 입력 매개 변수 (Name)를 사용하고 2 개의 출력 매개 변수 (EmployeeId 및 Salary)를 반환하는 아래와 같은 저장 프로 시저가 있습니다. 우리의 저장 프로 시저는 Name을 Employee 테이블에 삽입하고 우리에게 EmployeeId 및 Salary를 돌려줍니다.Database.SqlQuery 여러 출력 매개 변수가있는 저장 프로 시저 호출
CREATE PROCEDURE dbo.insertemployee
@iName varchar(500),
@OEmployeeId int OUTPUT,
@OSalary Money OUTPUT
우리는 EF 코드 우선 접근법을 사용하고 있습니다. 직원 테이블에 레코드를 삽입 할 수 있으며 두 개의 출력 매개 변수에 액세스하는 방법을 찾을 수 없습니다. 나는 아래처럼 사용할 필요가 있음을 안다. 아무도 나에게 결과가 무엇인지 말해 줄 수 없나요? MSDN에 따르면, 속성으로 열 이름을 가진 클래스가 될 수 있습니다. 하지만 내 경우에는 테이블의 열을 반환하지 않지만 두 개의 출력 매개 변수를 사용하고 있으며이 두 출력 매개 변수 @OEmployeeId 및 @OSalary에 액세스하는 방법을 알아야합니다.
는context.Database.SqlQuery<Result>(" exec dbo.insertemployee....);
public class Result
{
// what properties I must give here
}
가 대단히 피터 한센 감사를 . 이게 내 문제를 해결했습니다. EF Code First를 사용하여 출력 매개 변수가있는 저장 프로 시저를 호출하는 문제에 관한 게시물과 블로그를 찾아내는 것은 정말 어렵습니다. – Ziggler