IMO, det korrekta tillvägagångssättet här är inte att (enligt det accepterade svaret) använda det databasspecifika parameterprefixet (så @
). för sql-server, :
för oracle) - utan snarare:använd inget prefix alls . Så i slutändan är detta:
il.Emit(OpCodes.Ldstr, prop.Name);
(etc)
I synnerhet en static
egenskapen skulle vara dålig eftersom den skulle begränsa dig till en leverantör per AppDomain
.
Dapper har uppdaterats med denna ändring. Den känner nu också dynamiskt av BindByName
och ställer in det därefter (allt utan att behöva en referens till OracleCommand
).