Mappage par mise à plat (Flattening)

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Concept

Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :

Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :

  1. Il découpe les propriétés d’objets imbriqués : Cn.Name → propriété destination CnName
  2. Il recherche les méthodes sans paramètre commençant par Get : GetTotal() → propriété destination Total

Code complet

using AutoMapper;
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialiser la configuration AutoMapper
            Mapper.Initialize(x =>
            {
                x.CreateMap();
            });

            // Objet source Person
            Person p = new Person()
            {
                Age = 12,
                Cn = new Chinese() { Name = "Jack Chan" },
                Birthday = DateTime.Now,
                Sex = true,
                Salary = 5000
            };

            People peo = new People();

            // Exécuter le mappage
            Mapper.Map(p, peo);

            Console.WriteLine(peo.CnName);  // Sortie : Jack Chan  [Aplatissage : Cn.Name → CnName]
            Console.WriteLine(peo.Total);   // Sortie : 100        [Aplatissage : GetTotal() → Total]

            Console.ReadKey();
        }
    }

    // Classe source
    class Person
    {
        public int Age { get; set; }
        // Objet imbriqué
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
        public decimal GetTotal()
        {
            return 100M;
        }
    }

    public class Chinese
    {
        public string Name { get; set; }
    }

    // Classe destination
    class People
    {
        public int Age { get; set; }
        // Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
        public decimal Total { get; set; }
    }
}

Résumé

  1. Concaténation automatique des propriétés d’objets imbriqués
    Source : Person.Cn.Name
    Propriété destination : CnName
    AutoMapper concatène automatiquement l’objet imbriqué Cn et Name, puis affecte le résultat à CnName. Aucun besoin de configurer manuellement ForMember.
  2. Correspondance des méthodes sans paramètre commençant par Get
    Méthode source : public decimal GetTotal()
    Propriété destination : public decimal Total
    Le préfixe Get est supprimé, et la valeur de retour de la méthode est automatiquement affectée à Total.

Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.

Sortie

Jack Chan
100

Mappage par mise à plat (Flattening)

Laisser un commentaire

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