IMO, la bonne approche ici est pas pour (selon la réponse acceptée) utiliser le préfixe de paramètre spécifique à la base de données (donc @ pour sql-server, : pour oracle) - mais plutôt :n'utilisez aucun préfixe du tout . Donc finalement c'est :
il.Emit(OpCodes.Ldstr, prop.Name);
(etc.)
En particulier, un static propriété serait mauvaise car elle vous limiterait à un fournisseur par AppDomain .
Dapper a été mis à jour avec ce changement. Il détecte également dynamiquement BindByName et le définit en conséquence (le tout sans avoir besoin d'une référence à OracleCommand ).