IMO, prawidłowe podejście to nie aby (zgodnie z zaakceptowaną odpowiedzią) użyć prefiksu parametru specyficznego dla bazy danych (więc @
dla serwera sql, :
dla oracle) - ale raczej:nie używaj przedrostka w ogóle . Więc ostatecznie jest to:
il.Emit(OpCodes.Ldstr, prop.Name);
(itd.)
W szczególności static
właściwość byłaby zła, ponieważ ograniczałaby Cię do jednego dostawcy na AppDomain
.
Dapper został zaktualizowany tą zmianą. Teraz również dynamicznie wykrywa BindByName
i odpowiednio ją ustawia (wszystko bez potrzeby odwołania do OracleCommand
).