dapper problema con múltiples consultas causando bucle

.net c# dapper loops

Pregunta

Hola, tengo lo siguiente:

 public static RawData GetReportData(string connectionString, string UserGuid, string Report_Id)
    {

        var Connection = new SqlConnection(connectionString);

        using (var dbc = Connection)
        {
            var multi = dbc.QueryMultiple("myStoredProc", new { UserGuid, Report_Id }, commandType: CommandType.StoredProcedure);

            // get the model Id
            var Id = multi.Read<dynamic>().ToList();
            var mId = Id.First().model_ID;

            // get the report data
            var theData = multi.Read<dynamic>().ToList();

            var f = new RawData();
            //var thisworks = new List<dynamic>();

            f.Model_Id = mId;
            f.rdata =  theData;

            return f;
        }

    }

RawData es este modelo:

public class RawData
{
    [DataMember]
    public int Model_Id { get; set; }
    [DataMember]
    public IEnumerable<dynamic> rdata { get; set; }
}

El proceso almacenado devuelve dos conjuntos de datos. El primero contiene una lista con una fila y contiene una ID. El segundo contiene un informe con una estructura de datos variable. El código Dapper funciona bien y se devuelven los datos correctos.

Sin embargo, tan pronto como trato de devolver estos datos en mi modelo, el código se ejecuta sin error, pero luego parece volver e intentar ejecutar la consulta múltiple nuevamente. Es muy extraño.

Si hago esto, entonces funciona:

var thisworks = new List<dynamic>();
f.rdata = thisworks;  //theData;

¿Estoy haciendo algo tonto? ¿Alguien puede detectar algo obvio? Tal vez he estado mirando esto demasiado tiempo?

Respuesta popular

Esto parece haber sido causado por el tipo de datos dinámicos. Me deshice de eso y usé una clase grande que contenía varias listas estáticas que generalmente estarían vacías y el problema desapareció.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué