PetaPoco query con parametri tipizzata
-
26-10-2019 - |
Domanda
Utilizzando PetaPoco, Come chiamo stored procedure con parametri digitati? in c # lo faccio in questo modo:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
Soluzione
Controlla la documentazione per ulteriori dettagli, ma qui è un estratto.
http: //www.toptensoftware. com / articoli / 114 / PetaPoco-What-s-new-in-v4-0
Il supporto per IDbParameters come argomenti SQL
PetaPoco ora supporta direttamente passando IDbParameter si oppone a una query. Questo è utile se PetaPoco non mappa correttamente una proprietà.
Ad esempio il driver SQL Server non gestisce l'assegnazione DBNull a un colonna VarBinary meno che il parametro è configurato con la corretta genere. Per ovviare a questo è ora possibile fare questo:
databaseQuery.Execute("insert into temp1 (t) values (@0)",
new SqlParameter() { SqlDbType = SqlDbType.VarBinary, Value = DbNull.Value });
Un interessante effetto collaterale di questo è che si può anche restituire un IDbParameter dal PetaPoco.IMapper interfacciarsi per ignorare a livello globale mappatura dei parametri di default del PetaPoco funzionalità.