Tengo un código de estructura como a continuación:
class Person
{
Name PersonName;
int Age;
}
class Name
{
string FirstName { get; set; }
string LastName { get; set; }
}
Aquí está mi Stored Proc que rellena los datos de la base de datos.
Create Procedure SpGetAllPersons
As
Select FirstName, LastName, Age from Persons
¿Cómo escribo la consulta Dapper que extrae a toda la persona de la base de datos?
Ejemplo:
List<Person> Persons = DbConn.Query<Person>("SpGetAllPersons", CommandType.StoredProcedure);
Necesita usar el mapeador múltiple si desea seleccionar objetos anidados.
Esto debería funcionar:
List<Person> persons = DbConn.Query<Name,Person,Person>
("SpGetAllPersons",
(name,person) => {person.Name = name; return person;}
commandType: CommandType.StoredProcedure,
splitOn: "Age");
El multi-mapeador puede devolver cualquier tipo, incluso solo un tipo agregado que no esté mapeado en ninguna tabla db.
Es importante suministrar el splitOn
si tiene la intención de dividirlo en algo que no se llame id
o Id
.