Pasar parámetros a Dapper Seleccionar consulta para base de datos Oracle

asp.net dapper model-view-controller oracle select

Pregunta

Estoy tratando de pasar parámetros a Dapper para una consulta de selección en una base de datos Oracle, pero de alguna manera, no funciona con el identificador ":".

Funciona bien usando la concatenación de cadenas:
string req = "SELECT * FROM contact WHERE code_comite = '"; req += user.Comite + "' AND (pers_name LIKE '"; req += name + "%' OR pers_surname LIKE '" + name + "%')"; contacts = db_conn.Query<Contact>(req).ToList();

Pero no con los parámetros de Dapper que pasan:

string comite = "'" + user.Comite + "'";//e.g. comite = '120'
name = "'" + name + "%'";//e.g. name = 'John%'
contacts = db_conn.Query<Contact>("SELECT * FROM contact WHERE code_comite = :code_comite AND (pers_nom LIKE :search OR pers_prenom LIKE :search)", new { code_comite = comite, search = name }).ToList();

Debería usar la misma cadena, pero el segundo ejemplo no me devuelve nada.

Respuesta aceptada

No necesita poner comillas alrededor de sus valores cuando pasa un parámetro. Por el contrario, esto causa un error porque el motor buscará una columna que contenga los valores rodeados por las comillas literales.
Solo usa el texto sin formato

 string comite = user.Comite;
 name = name + "%";
 contacts = db_conn.Query<Contact>(@"SELECT * FROM contact 
          WHERE code_comite = :code_comite 
            AND (pers_nom LIKE :search 
                 OR pers_prenom LIKE :search)", 
  new { code_comite = comite, search = name }).ToList();


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é