¿Dapper realiza una selección automática de columnas que coinciden con las propiedades?

dapper orm

Pregunta

Cuando se utiliza Dapper-dot-net, si se consulta a un resultado fuertemente tipado, y su SQL solo tiene un:

select * 

¿Automáticamente, Dapper solo seleccionará las columnas que coinciden con los campos de su objeto? Creo que PetaPOCO hace esto, pero tuve algunos problemas con Dapper que pensé que se atribuían a esta falta de coincidencia.

Ejemplo,

conn.Query<article>("select * from Article");

¿Funcionará esto si la tabla Article contiene otras columnas que son ajenas al objeto del article ?

Respuesta aceptada

Sí lo hace - Intenté esto durante el fin de semana, incluso con una consulta involucrada con dos tablas unidas por una restricción FK. Creé dos clases que representaban solo partes de esas tablas subyacentes, y esas propiedades presentes se llenarán muy bien, cualquier cosa que no esté en las clases será ignorada. ¡Funciona de maravilla!

Por otro lado, si solo necesita unas pocas columnas, debería especificarlas explícitamente en su consulta SQL, ¡como una buena práctica general! No tiene sentido seleccionar todo, si solo necesita un puñado de columnas ...



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