Mapper un objet non primitif avec Dapper

dapper orm

Question

J'ai la classe suivante

    public class Point
    {
        public long Id { get; set; }

        public Address Address { get; set; }
    }

J'essaie de faire en sorte que Dapper mappe correctement les données d'adresse.

   var points = this._db.Query<Point>("select * from Points").ToList();

Mon schéma de table est le suivant:

schéma de base de données

Existe-t-il un moyen de spécifier des données de colonne spécifiques à Dapper, afin de mapper des objets non primitifs? image visuelle du débogueur studio

Réponse acceptée

Pour mapper correctement, vous devez utiliser la fonctionnalité multi-carte.

 var points = this._db.Query<Point, Address, Point>("select p.Id, 'x' [Id], p.Address_City [City], p.Address_State [State] from Points p", (p, a) =>
            {
                p.Address = a;
                return p;
            }).ToList();


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi