¿Qué sucede si no necesita un parámetro cuando realiza una consulta con Dapper?

dapper

Pregunta

Tengo una consulta que hace un recuento / grupo por el que no necesito un parámetro (no hay ninguna cláusula where).

¿Cuál es la sintaxis para ejecutar una consulta sin parámetros con dapper?

var _results = _conn.Query<strongType>("Select Count(columnA) as aCount, ColumnB, ColumnC from mytable group by ColumnB, ColumnC");

No funciona.

Lo he intentado de diferentes maneras, pero sigo recibiendo "ArgumentNullException no fue controlado por el código de usuario".

Intenté resolverlo yo mismo, busqué por todas partes y me doy por vencido. Gracias por adelantado.

Editar: A continuación se muestra la línea de código de SqlMapper.cs que arroja el error. Es la línea 1334

il.Emit(OpCodes.Newobj, typeof(T).GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, Type.EmptyTypes, null));

Los detalles del error: el valor no puede ser nulo. Nombre del parámetro: con

Respuesta popular

Trazar un solo resultado de regreso funciona bien:

var a = cnn.Query<int>("select 1").Single()
// a is 1

Puede enfrentar problemas si de alguna manera su consulta no arroja resultados, por ejemplo:

select count(Id) from 
(
select top 0 1 as Id, 2 as Title
) as X
group by Title

devuelve 0 resultados, por lo que hacer un Single en un conjunto de resultados vacío no va a funcionar.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow