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