PetaPoco requête avec dactylographiée paramètres
-
26-10-2019 - |
Question
Utilisation PetaPoco, comment dois-je appeler la procédure stockée avec des paramètres typés? en C # je le fais comme ceci:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
La solution
Consultez documentation pour plus de détails, mais voici un extrait.
http: //www.toptensoftware. com / articles / 114 / PetaPoco-Que-s-new-in-v4-0
Support pour IDbParameters comme arguments SQL
PetaPoco prend désormais en charge les objets IDbParameter passer directement à une requete. Ceci est pratique si PetaPoco ne correspond pas correctement une propriété.
Par exemple, le pilote SQL Server ne gère pas l'affectation DBNull à un VarBinary colonne sauf si le paramètre est configuré avec le bon type. Pour contourner cela, vous pouvez maintenant faire ceci:
databaseQuery.Execute("insert into temp1 (t) values (@0)",
new SqlParameter() { SqlDbType = SqlDbType.VarBinary, Value = DbNull.Value });
Un effet secondaire intéressant est que vous pouvez également retourner un IDbParameter de la PetaPoco.IMapper une interface pour remplacer globalement le mappage des paramètres par défaut de PetaPoco fonctionnalité.