Drizin / Drizin/DapperQueryBuilder

oracle stored procedure returning cursor

Abierto
#68 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C#
Estrellas
541
Forks
49
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I just found your package and I think it will make my code read a ton better. Right now, my code looks like the first code block. It works fine, but I would like to make my code look the second code block, but it can't seem to figure out how to set the returning cursor. I think I'm close in the second code block. As you can see, I'm stuck in an oracle database where every stored procedure returns a refcursor.

```
List data;
var connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (var connection = new OracleConnection(connStr))
{
var values = new OracleDynamicParameters();
values.Add("i_uic", Uic, OracleMappingType.Varchar2, ParameterDirection.Input);
values.Add("o_cur", dbType: OracleMappingType.RefCursor, direction: ParameterDirection.Output);

data = connection.Query("jcn_exports.get_work_notifications", values, commandType: CommandType.StoredProcedure).ToList();
}
```

```
List data;
var connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (var connection = new OracleConnection(connStr))
{
var ocur = new OracleParameter("o_cur", OracleDbType.RefCursor, ParameterDirection.Output);
var query = connection.SqlBuilder(
new InterpolatedSqlBuilderOptions(){DatabaseParameterSymbol = ":"},
$"jcn_exports.get_work_notifications({Uic}, {ocur})");
data = query.Query().ToList();
}
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza con el uso de OracleDynamicParameters y SqlBuilder mostrado en el issue y, a continuación, sigue cómo se gestionan los parámetros de los procedimientos almacenados y los refcursors. Determina si la ruta del generador de consultas puede enlazar el cursor de salida y verifica el resultado comparándolo con el ejemplo existente de Dapper que funciona; se considera terminado cuando el segundo estilo devuelve los mismos datos List para el procedimiento.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, sql
Área
backend, databases
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.