Dapper 출력 매개 변수는 mysql에 의해 null로 해석됩니다.

c# dapper mysql

문제

Mysql 5.6.10 (AWS Aurora)의 테스트 스위트에서이 간단한 Dapper 예제를 실행하려고합니다.

var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction:ParameterDirection.Output);
cnn.Execute(@"set @c = @a + @b", p);
var results = p.Get<int>("@c");

그러나 예외가 발생합니다. @c는 NULL로 해석됩니다> 여기에 이미지 설명을 입력하십시오.

두 개의 출력 매개 변수를 사용하여 삽입 문과 마지막 삽입 된 ID의 영향을받는 행 수를 반환하고 싶습니다.

인기 답변

mysql에서 dapper로 매개 변수를 가져올 수 없다는 것을 알았으므로 결과를 얻기 위해 약간의 코드를 수정했습니다.

var p = new DynamicParameters(new { a = 1, b = 2 });
//p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
//conn.Execute(@"set @c = @a + @b", p);
using (var reader = conn.ExecuteReader(@"set @c = @a + @b; select @c;", p))
{
    //var results = p.Get<int>("@c");
    if (reader.Read())
    {
        var result = reader.GetInt32(0);
    }
}


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