4

使用 PetaPoco,我如何调用带有类型参数的存储过程?在c#中我这样做:

cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
4

1 回答 1

6

查看文档以获取更多详细信息,但这里是摘录。

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 的默认参数映射功能。

于 2012-01-11T00:15:54.000 回答