Drizin / Drizin/DapperQueryBuilder
oracle stored procedure returning cursor
- 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