En mi opinión, el enfoque correcto aquí es no para (según la respuesta aceptada) usar el prefijo de parámetro específico de la base de datos (entonces @ para el servidor SQL, : para oracle), sino más bien:no use ningún prefijo en absoluto . Entonces, en última instancia, esto es:
il.Emit(OpCodes.Ldstr, prop.Name);
(etc)
En particular, un static propiedad sería mala ya que lo limitaría a un proveedor por AppDomain .
Dapper se ha actualizado con este cambio. Ahora también detecta dinámicamente BindByName y lo establece en consecuencia (todo sin necesidad de una referencia a OracleCommand ).