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