sql >> Database teknologi >  >> RDS >> Oracle

Brug af Dapper med Oracle lagrede procedurer, der returnerer markører

Tak for løsningen her. Jeg opnåede det samme med lidt mindre kode ved hjælp af en simpel DynamicParameter-dekorator:

public class OracleDynamicParameters : SqlMapper.IDynamicParameters
{
    private readonly DynamicParameters dynamicParameters = new DynamicParameters();

    private readonly List<OracleParameter> oracleParameters = new List<OracleParameter>();

    public void Add(string name, object value = null, DbType? dbType = null, ParameterDirection? direction = null, int? size = null)
    {
        dynamicParameters.Add(name, value, dbType, direction, size);
    }

    public void Add(string name, OracleDbType oracleDbType, ParameterDirection direction)
    {
        var oracleParameter = new OracleParameter(name, oracleDbType, direction);
        oracleParameters.Add(oracleParameter);
    }

    public void AddParameters(IDbCommand command, SqlMapper.Identity identity)
    {
        ((SqlMapper.IDynamicParameters)dynamicParameters).AddParameters(command, identity);

        var oracleCommand = command as OracleCommand;

        if (oracleCommand != null)
        {
            oracleCommand.Parameters.AddRange(oracleParameters.ToArray());
        }
    }
}


  1. Sådan kortlægges et enhedsfelt, hvis navn er et reserveret ord i JPA

  2. PostgreSQL 'NOT IN' og underforespørgsel

  3. Klyngebekræftelsesværktøj genererer et stort antal xml-filer på "/u01" filsystem.

  4. Med henvisning til et udvalgt aggregeret kolonnealias i have-sætningen i Postgres