¿Cómo puedo encontrar una segunda propiedad con un nombre duplicado de un objeto dinámico?

dapper

Pregunta

Usando Dapper tengo un conjunto de resultados que contiene dos columnas SQL con el mismo nombre. ¿Cómo leo los valores?

Tanto la tabla de User como la de Skill tienen una columna llamada Name .

Un ejemplo de mi código:

var query = _connection.Query(@"
    select u.*, s.* 
    from [User] u 
    left join Skill s ON s.UserID = u.UserID
    where Username=@Username", 
    new { Username }
);

Respuesta aceptada

No habrá dos propiedades de name . En mi breve investigación, el resultado contenía el primer nombre, pero estoy seguro de que esto no está garantizado.

Para obtener ambos name necesitará alias una o ambas columnas en su sql:

var query = _connection.Query(@"
    select u.name as user_name, s.name as skill_name 
    from [User] u 
    left join Skill s ON s.UserID = u.UserID
    where Username=@Username", 
    new { Username }
);


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é