(Oracle + dapper C#) Выполнить функцию oracle c входными параметрами которая возвращает type as object

У меня возникли трудности с выполнением функции oracle c входными параметрами которая возвращает type as object с сопровождением ошибки System.ArgumentException: "Invalid parameter binding".

function fn_logon(v_user_login varchar2, v_password varchar2)
return tp_user

где tp_user это

    create or replace type tp_user as object
(  
  id number,
  user_login varchar2(30),
  first_name varchar2(30),
  name varchar2(30),
  last_name varchar2(30),
  id_role number,
  is_active number
)

вызов c `

public static void LogOn(AutorizationRequest req)
        {
            DynamicParameters dynamicParametrs = new DynamicParameters();
            dynamicParametrs.Add(":v_user_login", req.UserName);
            dynamicParametrs.Add(":v_password", req.Password);
            dynamicParametrs.Add(":v_result", dbType: DbType.Object, direction: ParameterDirection.Output);
            
            using (IDbConnection con = config.OracleConfig.GetConnection())
                {
                var results = con.Query<AutorizationResponse>("PKG_AUTORIZATION.FN_LOGON", dynamicParametrs, commandType: CommandType.StoredProcedure);               
                config.OracleConfig.CloseConnection(con);
                }            
        }
    public class AutorizationResponse
    {      

        public int Id { get; set; }
        public string UserName { get; set; }
        public string FirstName { get; set; }
        public string Name { get; set; }
        public string LastName { get; set; }
        public int IdRole { get; set; }
        public int IsActive { get; set; }
    }

`


Ответы (1 шт):

Автор решения: ESkri
procedure fn_logon(v_user_login varchar2, v_password varchar2)
return tp_user

Процедура не может возвращать никакое значение кроме своих out-параметров.
Это должна быть функция.

→ Ссылка