实体框架核心5-从单个存储过程返回两个oracle游标
我正在开发一个API,它调用一个oracle存储过程(我无法触摸它),并返回两个refcursors。问题是,在我的代码中,只有从sp返回的第一个游标被映射,而另一个游标抛出InvalidOperationException 我的存储库类 被映射的游标的类 游标的类,该类不包含 执行 错误 这是我第一次在dotnet环境中与oracle合作,但我遵循oracle的官方指南(请参阅)。正如您所看到的,它只适用于只返回一个游标的sp。有什么想法吗?任何帮助都将不胜感激实体框架核心5-从单个存储过程返回两个oracle游标,oracle,.net-core,entity-framework-core,.net-5,Oracle,.net Core,Entity Framework Core,.net 5,我正在开发一个API,它调用一个oracle存储过程(我无法触摸它),并返回两个refcursors。问题是,在我的代码中,只有从sp返回的第一个游标被映射,而另一个游标抛出InvalidOperationException 我的存储库类 被映射的游标的类 游标的类,该类不包含 执行 错误 这是我第一次在dotnet环境中与oracle合作,但我遵循oracle的官方指南(请参阅)。正如您所看到的,它只适用于只返回一个游标的sp。有什么想法吗?任何帮助都将不胜感激 var sql = &qu
var sql = "BEGIN CCO_PKG_WHITDRAWREQUEST.OBT_OPCION_RET_DES_PRC(:pi_num_seguro_social , :pi_num_resolucion, :po_cur_valida_res, :po_cur_opciones); END;";
var parameters = new OracleParameter[]
{
new OracleParameter("pi_num_seguro_social", request.NSS),
new OracleParameter("pi_num_resolucion", request.NumResolucion),
new OracleParameter("po_cur_valida_res", OracleDbType.RefCursor, ParameterDirection.Output),
new OracleParameter("po_cur_opciones", OracleDbType.RefCursor, ParameterDirection.Output)
};
//This one gets mapped without problems.
var validaResCursor = await _context.CursorValidaRes.FromSqlRaw(sql, parameters).ToListAsync();
//This one throws the exception.
var opcionesCursor = await _context.CursorOpciones.FromSqlRaw(sql, parameters).ToListAsync();
var result = (opcionesCursor, validaResCursor);
[Keyless]
public class ValidaResCursor
{
public string EsCVEValido { get; set; }
public string Opcion { get; set; }
public string Descripcion { get; set; }
public double SaldoA { get; set; }
public double SaldoB { get; set; }
public string Vigencia { get; set; }
}
}
[Keyless]
public class OpcionesCursor
{
public string cv { get; set; }
public string tipo { get; set; }
public string descripcion { get; set; }
public double monto { get; set; }
public double salario_bc { get; set; }
}