我一直在使用Dapper调用存储过程传递一个对象。例如:
如果我有一个对象:
public int ID { get; set; }
public int Year { get; set; }
我可以创建这个对象并将其作为参数传递给我的Execute
调用。 Dapper会自动将所有这些属性映射到参数中并执行存储过程。真棒。
输出参数怎么样?如果我的对象看起来如下,我如何让Dapper用输出参数值填充该属性?
public int ID { get; set; }
public int Year { get; set; }
public int OutputParameter { get; set; }
是否必须将输出参数添加为DynamicParameters
?
像这样的东西:
DynamicParameters _params = new DynamicParameters();
_params.Add("@newId", DbType.Int32, direction: ParameterDirection.Output);
var result = connection.Execute("[dbo].YourProc", _params, null, null, CommandType.StoredProcedure);
var retVal = _params.Get<int>("newId");