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
).