Oracle과 함께 Dapper에서 DataReader 사용

dapper

문제

값을 읽으면 값을 클래스에 값을 설정하기 위해 다음 코드에서 multi가 반환 한 필드 값을 읽도록 DataReader에 줄을 어떻게 가져 옵니까?

OracleRefCursor m_Cursor=null;
Dapper.SqlMapper.GridReader multi =null;

using (m_Conn = new OracleConnection(m_ConnectionString))
{ 
     try
     {
          m_Conn.Open();
          String m_LastName = "S" + "%";
          String m_Id = "";
          String m_EmpId = "";

          var p = new OracleDynamicParameters();

          p.Add(":p_LastName", m_LastName);
          p.Add(":p_Id", m_Id);
          p.Add(":p_EmpId", m_EmpId);                   
          p.Add( ":p_Cursor1", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output );


          using (multi = m_Conn.QueryMultiple(m_ProcedureName, param: p, commandType: CommandType.StoredProcedure))
          {                           

          }
    }
    catch (Exception ex)
    {
           String m_Error = ex.ToString();
    }

}//end of using statement

인기 답변

Dapper의 docs에서 :

var sql = 
@"
select * from Customers where CustomerId = @id
select * from Orders where CustomerId = @id
select * from Returns where CustomerId = @id";

using (var multi = connection.QueryMultiple(sql, new {id=selectedId}))
{
   var customer = multi.Read<Customer>().Single();
   var orders = multi.Read<Order>().ToList();
   var returns = multi.Read<Return>().ToList();
   ...
} 


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow