Dapper 및 오라클 매개 변수 쿼리 - ORA-01036 : 잘못된 변수 이름 / 번호

c# dapper oracle

문제

나는 현재 Dapper에서 내 손을 잡고있다. 다음 코드는 완벽하게 작동합니다.

using (var conn = 
    new OracleConnection(
        "Uid=dbusr;Pwd=dbusrpwd;Server=oraserver;"))
{
    var col = 
        conn.Query<User>(
        "SELECT * FROM Users WHERE UserName = 'uid01'"
        , null)
        .ToList();
}

그러나 하드 코드 된 매개 변수 대신 매개 변수화 된 쿼리와 익명 클래스를 전달하려고 시도하면 다음과 같이됩니다.

using (var conn = 
    new OracleConnection(
        "Uid=dbusr;Pwd=dbusrpwd;Server=oraserver;"))
{
    var col = 
        conn.Query<User>(
        "SELECT * FROM Users WHERE UserName = @Id"
        , new { Id = "uid01" })
        .ToList();
}

다음과 같은 오류가 나타납니다.

ORA-01036 : 부정한 변수 명 / 번호

그래서 주위를 검색했지만 유사한 오류 보고서를 찾지 못했습니다. 그것은 내가 몹시 명백한 무엇인가 놓치고있는 것처럼 보인다. 그러나 슬프 도다 - 나는 커피를 다 썼다. 나는 어떤 힌트라도 주시면 감사하겠습니다.

수락 된 답변

SQL 오라클의 맛에서 명명 된 매개 변수는 접두어 : . @Id 대신 :Id 를 시도하십시오.



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