Installation et premier exemple

1、Étapes d’installation via NuGet

  1. Créez un projet console (les autres types de projets sont également possibles, le projet console est utilisé ici à titre d’exemple).
  2. Dans le gestionnaire de packages NuGet, recherchez AutoMapper (auteur : Jimmy Bogard).
  3. Cliquez sur Installer. Veillez à choisir une version du package compatible avec la version .NET de votre projet, sinon l’installation échouera.

Commande pour la console du gestionnaire de packages

Install‑Package AutoMapper

2、Création des classes d’entités

class Person
{
    public int Age { set; get; }
    public string Name { set; get; }
    public decimal Salary { set; get; }
    public bool Sex { set; get; }
    public DateTime Birthday { set; get; }
}

class People
{
    public int Age { set; get; }
    public string Name { set; get; }
    public decimal Salary { set; get; }
    public bool Sex { set; get; }
    public DateTime Birthday { set; get; }
}Langage du code : JavaScript (javascript)

3、Exemple

class Program
{
    static void Main(string[] args)
    {
        // ① Initialisation de la configuration de mappage : création du mapping Person → People
        Mapper.Initialize(m => m.CreateMap<Person, People>());

        // ② Instanciation de l'objet source Person
        Person p = new Person()
        {
            Age = 12,
            Name = "Tom",
            Birthday = DateTime.Now,
            Sex = true,
            Salary = 10000
        };

        // L'objet cible ne doit pas être null, il doit être instancié au préalable
        People peo = new People();

        // ③ Exécution du mappage : copie des valeurs de l'objet source p vers peo
        Mapper.Map(p, peo);

        // ④ Lecture du résultat après mappage
        Console.WriteLine(peo.Name);
        Console.ReadKey();
    }
}Langage du code : JavaScript (javascript)

Points clés

  1. Mapper.Initialize : enregistre les règles de mappage globales. Exécutez-le une seule fois au démarrage de l’application, et non dans une boucle.
  2. CreateMap<TypeSource, TypeCible>() : déclare le mappage entre deux classes.
  3. Mapper.Map(objetSource, objetCible) : l’objet cible doit déjà être instancié, vous ne pouvez pas passer null, sous peine d’erreur.
  4. Règle de convention : si le nom et le type de la propriété correspondent, la copie est automatique, sans configuration supplémentaire.

Note de version : à partir d’AutoMapper 10, l’utilisation statique de Mapper.Initialize / Mapper.Map est déconseillée. Il est recommandé d’utiliser l’injection de dépendances avec IMapper. Le code ci-dessus est fourni à titre d’apprentissage pour les anciennes versions.

Comparaison avec l’assignation manuelle

  • Manuelle : peo.Name=p.Name; peo.Age=p.Age;……, plus il y a de champs, plus le code répétitif est important.
  • AutoMapper : il suffit de déclarer la relation de mappage pour copier automatiquement toutes les propriétés portant le même nom.

Installation et premier exemple

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *