IMO, a abordagem correta aqui é não para (conforme a resposta aceita) use o prefixo do parâmetro específico do banco de dados (assim
@
para sql-server, :
para oráculo) - mas sim:não use nenhum prefixo de forma alguma . Então, no final das contas, isso é:il.Emit(OpCodes.Ldstr, prop.Name);
(etc)
Em particular, um
static
propriedade seria ruim, pois limitaria você a um fornecedor por AppDomain
. Dapper foi atualizado com esta mudança. Agora também detecta dinamicamente
BindByName
e configura de acordo (tudo sem precisar de uma referência ao OracleCommand
).