Consulta parametrizada de Dapper y Oracle - ORA-01036: nombre / número de variable ilegal

c# dapper oracle

Pregunta

Actualmente estoy probando mi mano en Dapper. El siguiente código funciona sin problemas:

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

Pero si en lugar de usar un parámetro codificado intenté pasarlo a través de una consulta parametrizada más una clase anónima, como esta:

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();
}

Recibo el siguiente error:

ORA-01036: nombre / número de variable ilegal

Busqué alrededor de SO, pero no encontré informes de error similares; parece que me estoy perdiendo algo terriblemente obvio, pero por desgracia, me quedé sin café. Agradecería cualquier pista.

Respuesta aceptada

En el sabor de SQL de Oracle, los parámetros nombrados tienen el prefijo : Pruebe :Id lugar de @Id .



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué