IMO, l'approccio corretto qui è non per (come da risposta accettata) utilizzare il prefisso del parametro specifico del database (quindi @ per sql-server, : per oracle) - ma piuttosto:non usare il prefisso per niente . Quindi alla fine questo è:
il.Emit(OpCodes.Ldstr, prop.Name);
(ecc)
In particolare, un static la proprietà sarebbe negativa in quanto ti limiterebbe a un fornitore per AppDomain .
Dapper è stato aggiornato con questa modifica. Inoltre ora rileva dinamicamente BindByName e lo imposta di conseguenza (il tutto senza bisogno di un riferimento a OracleCommand ).