Dapper-dot-net "sin nombre de columna"

dapper

Pregunta

Tengo un conjunto de resultados que podría verse así:

ID    (no column name)  anotherID
----  ----------------  ----------
1        super            3
1        super            4
3        duper            6
4        really           7
4        really           8

Tengo 2 problemas:

Primero: ¿Cómo uso dapper con una columna sin nombre?

Segundo: quiero tener una relación padre-hijo tal que obtenga 3 objetos cada uno con una lista de otrosID, por ejemplo:

public class MyObject
{
   public int ID
   public string Name
   public int[] Children
}

Respuesta aceptada

Bueno, las columnas sin nombre no son compatibles con dapper. Nunca vi una razón para ellos.

Creo que podríamos construir soporte para:

class Foo { [ColumnNumber(1)] public string Name {get;set;} }

El problema es que introduce un método muy frágil de consulta que me desagrada mucho, pasar una directiva a Query es igual de torpe.

Sin embargo, si está feliz de cambiar la forma en que obtiene los resultados, podría evitar esto.

var grid = QueryMultiple(@"set nocount on 
declare @t table(Id int, Name nvarchar(max), AnotherId int)

insert @t
exec proc

set nocount off 
select Id, Name from @t
select Id, AnotherId from @t
");

A continuación, utilice la técnica aquí para multi map: Multi-Mapper para crear jerarquía de objetos



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