Преобразование OracleRefCursor в список пользовательских объектов C # - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть оператор Dapper, который возвращает OracleRefCursor:

try
{
    using (IDbConnection connection = Connection)
    {
        var parameters = new OracleDynamicParameters();
        parameters.Add("refCursorReturn", null, OracleMappingType.RefCursor, ParameterDirection.Output);
        IEnumerable<OracleRefCursor> temp = connection.Query<OracleRefCursor>("MySchema.MyStoredProc", parameters, commandType: CommandType.StoredProcedure);

        //I need to convert the OracleRefCursor to an IEnumerable or List of MyObject

        return IEnumerable<MyObject>;
    }
}
catch (Exception e)
{
    Console.WriteLine(e);
    throw;
}

Я не могу найти в сети документацию о том, как преобразовать OracleRefCursor во все, что я могу использовать.

1 Ответ

0 голосов
/ 22 февраля 2019

Один из способов (если все в порядке, если НЕ используется сильный тип, такой как OracleRefCursor), тогда можно использовать:

 IEnumerable<dynamic> temp = null;

 temp = connection.Query<dynamic>("MySchema.MyStoredProc", parameters, commandType: CommandType.StoredProcedure);

foreach (var dataRow in temp)
{
     var fields = dataRow as IDictionary<string, object>;
     // do something with fields. (store in datatable, list etc).
}
...