我的过程返回两个结果集/表,我想将这两个结果集读入两个不同的列表并绑定该列表。
我能够将一个结果集读入列表,但我尝试了各种方法将多个结果集读入动态列表,但它给了我“TTC Error Oracle”。
如何使用 QueryMultiple 读取多个结果集?
将单个结果集读入动态列表的代码:
public ResponseModel GetDoctorDetails(CustomerRequest data)
{
try
{
var p = new OracleDynamicParameters();
p.Add("p_parameter1", data.PARAMETER1, dbType: OracleDbType.Int32, direction: ParameterDirection.Input, size: 8);
p.Add("p_parameter2", data.PARAMETER2, dbType: OracleDbType.Int32, direction: ParameterDirection.Input, size: 8);
p.Add("p_out_cursor", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output, size: 0);
using (var multi = _oracleConnection.QueryMultiple("procedure_name", param: p, commandType: CommandType.StoredProcedure))
{
List<dynamic> list = multi.Read<dynamic>().AsList();
return new ResponseModel { ResultSet = list, StatusCode = 1, StatusDescription = "Success" };
}
}
catch (Exception ex)
{
throw ex;
}
}
我尝试了以下方法来读取多个结果集,但它给了我“TTC 错误”
List<DataTable> list = new List<DataTable>();
list = multi.Read<DataTable>().AsList();
和
List<List<dynamic>> list = new List<List<dynamic>>();
list = multi.Read<List<dynamic>>().AsList();
请帮忙。