基本用法

並不總是能夠在一個物件/呼叫中整齊地打包所有引數。為了幫助處理更復雜的場景,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 流)。 **