public static async Task <int> ExecuteStoreProcedureAsync(this IDbTransaction transaction, String name, Object param) { var dp = new DynamicParameters(param); dp.Add("@return", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue); await transaction.Connection.ExecuteScalarAsync <int>( sql : name, param : dp, transaction : transaction, commandType : CommandType.StoredProcedure ); return(dp.Return <int>()); }
public static async Task <T> ExecuteStoreProcedureAsync <T>(this IDbTransaction transaction, String name, Object param) { var sqlParameter = new SqlParameter("", default(T)); var dp = new DynamicParameters(param); dp.Add("@return", dbType: sqlParameter.DbType, direction: ParameterDirection.ReturnValue); await transaction.Connection.ExecuteScalarAsync <T>( sql : name, param : dp, transaction : transaction, commandType : CommandType.StoredProcedure ); return(dp.Return <T>()); }