Dapper ORM Objetos anidados

dapper orm

Pregunta

Tengo un cliente que me ha dictado que use Dapper ORM, que nunca antes había usado. Tengo un problema con los objetos anidados. Tengo una clase principal (Ubicación) que tiene una clase de objeto de valor incrustado (Dirección). Las dos clases se ven así:

class Location {
    int Id;
    string LocationName;
    Address LocationAddress;
}

Class Address {
    string Street;
    string City;
    string State;
    string ZipCode;
}

El SQL:

SELECT Id, LocationName, Street, City, State, ZipCode FROM Locations

He visto varios ejemplos, pero no puedo configurar la consulta correctamente. Simplemente no entiendo lo suficiente Dapper para obtener la estructura correcta.

Respuesta aceptada

Puede usar el parámetro "splitOn" en su consulta dapper.

var sql = "SELECT Id, LocationName, Street, City, State, ZipCode FROM Locations";
var conn = // your get connection logic here. 

using(conn)
{
 conn.Open();
 var locations = conn.Query<Location,Address,Location>(sql, (location, address) => 
                 {
                   location.LocationAddress = address;
                   return location;
                 }, splitOn: "Street");
}

Se requiere SplitOn si sus objetos en el conjunto de registros no están "divididos" por una columna llamada "Id".



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é