【发布时间】:2012-02-07 09:19:48
【问题描述】:
使用 PetaPoco,我如何调用带有类型参数的存储过程? 在 c# 中我这样做:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
【问题讨论】:
标签: petapoco
使用 PetaPoco,我如何调用带有类型参数的存储过程? 在 c# 中我这样做:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
【问题讨论】:
标签: petapoco
查看documentation 了解更多详情,但这里是摘录。
http://www.toptensoftware.com/Articles/114/PetaPoco-What-s-new-in-v4-0
支持 IDbParameters 作为 SQL 参数
PetaPoco 现在支持直接将 IDbParameter 对象传递给 询问。如果 PetaPoco 没有正确映射属性,这很方便。
例如,SQL Server 驱动程序不处理将 DbNull 分配给 VarBinary 列,除非参数配置正确 类型。要解决此问题,您现在可以这样做:
databaseQuery.Execute("insert into temp1 (t) values (@0)",
new SqlParameter() { SqlDbType = SqlDbType.VarBinary, Value = DbNull.Value });
这样做的一个有趣的副作用是 您还可以从 PetaPoco.IMapper 返回一个 IDbParameter 全局覆盖 PetaPoco 的默认参数映射的接口 功能。
【讨论】: