jeudi 13 février 2020

Dump rows from Oracle.ManagedDataAccess.Client.OracleDataReader to a collection that survives closed connection

I'm trying to write a simple helper function that connects to Oracle database using Oracle.ManagedDataAccess.Core library, and returns the rows.

Returned object should survive when connection to database is closed. Something similar to the following. Not sure what the will be.

public <sometype> GetOracleResults(string connectionString, string cmdText, List<OracleParameter> oracleParameters)
{
    <sometype> results = null;
    try
    {
        using (OracleConnection oracleConnection = new OracleConnection(connectionString))
        {
            oracleConnection.Open();
            using (OracleCommand oracleCommand = new OracleCommand(cmdText, oracleConnection))
            {
                foreach (var param in oracleParameters)
                {
                    oracleCommand.Parameters.Add(param);
                }
                OracleDataReader oracleDataReader = oracleCommand.ExecuteReader();
                if(oracleDataReader.HasRows)
                {
                    results = new <sometype>();
                    while (oracleDataReader.Read())
                    {
                        //loop through the reader and add results
                        return results;
                    }
                }
            }
        }
    }
    catch (Exception)
    {
       //todo
        throw;
    }
}

Aucun commentaire:

Enregistrer un commentaire