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;
È stato utile?

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à.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top