dapper를 사용하여 datatable을 매개 변수로 허용하는 sp에 출력 매개 변수 전달

asp.net-mvc-4 dapper

문제

안녕하세요, 나는 배우기의 일환으로 mvc에서 일하고 있습니다. 그래서 나는 sp의 datatable을 전달해야만하는 상황에 이르렀고, datatable과 함께 int 출력 매개 변수 하나를 제공해야했습니다. 현재이 코드를 사용하고 있습니다.

con.Execute("XXXXXXX",
 new { @LoginId = LoginId, @City= City, @RegionCode = RegionCode, @CarList= Cars, @CompCOde = COmp},
 commandType: CommandType.StoredProcedure);

여기서 Cars는 데이터 테이블이므로 출력 매개 변수를 추가하려면 솔루션을 제안하십시오.

수락 된 답변

ParameterDirection.Output 지정된 매개 변수 목록을 만들면 Get 사용하여 매개 변수 목록을 읽을 수 있습니다.

다음 예제에서 int 출력 매개 변수 (테스트하지 않음)를 포함하여 몇 가지 가정을했습니다.

            SqlConnection con = new SqlConnection();
            DynamicParameters p = new DynamicParameters();
            p.Add("@LoginId", LoginId, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
            p.Add("@City", City, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
            p.Add("@RegionCode", RegionCode, dbType: DbType.VarNumeric, direction: ParameterDirection.Input);
            p.Add("@CarList", Cars.AsTableValuedParameter());
            p.Add("@SomeId", dbType: DbType.Int32, direction: ParameterDirection.Output);
            con.Execute("XXXXXXX",p,commandType: CommandType.StoredProcedure);

            int someId = p.Get<int>("@SomeId");


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.