Dapper.NET 基本用法

示例

并非总是可以在单个对象/调用中整齐地打包所有参数。为了帮助处理更复杂的场景,dapper允许param参数是IDynamicParameters实例。如果您这样做,您的自定义AddParameters方法将在适当的时间被调用,并将命令交给附加到。但是,在大多数情况下,使用预先存在的DynamicParameters类型就足够了:

var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
connection.Execute(@"set @c = @a + @b", p);
int updatedValue = p.Get<int>("@c");

由此可见:

  • (可选)现有对象的填充

  • (可选)动态添加其他参数

  • 将参数传递给命令

  • 命令完成后检索任何更新的值

需要注意的是,由于RDBMS如何工作的协议,它通常是唯一可靠的获得更新的参数值之后的任何数据(从一个Query或QueryMultiple`操作)已被完全消耗(例如,SQL Server上,更新后的参数值是在结束的TDS流)。