Consulta de Petapoco con parámetros mecanografiados
-
26-10-2019 - |
Pregunta
Usando Petapoco, ¿cómo llamo al procedimiento almacenado con parámetros tipados? En C# lo hago así:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
Solución
Revisar la documentación Para más detalles, pero aquí hay un extracto.
http://www.toptensoftware.com/articles/114/petapoco-what-s-newin-v4-0
Soporte para IDBParameters como argumentos SQL
Petapoco ahora admite los objetos IDBParameter IDBParameter directamente a una consulta. Esto es útil si Petapoco no asigna correctamente una propiedad.
Por ejemplo, el controlador SQL Server no maneja la asignación de DBNull a una columna Varbinary a menos que el parámetro esté configurado con el tipo correcto. Para trabajar alrededor de esto, ahora puedes hacer esto:
databaseQuery.Execute("insert into temp1 (t) values (@0)",
new SqlParameter() { SqlDbType = SqlDbType.VarBinary, Value = DbNull.Value });
Un efecto secundario interesante de esto es que también puede devolver un IDBParameter de la interfaz Petapoco.Imapper para anular globalmente la funcionalidad de mapeo de parámetros predeterminada de Petapoco.