Flattening-Mapping (Vereinfachtes Mapping)

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Konzept

Standardmäßig wendet AutoMapper neben der Zuordnung gleichnamiger Eigenschaften auch Flattening-Regeln (Vereinfachung) an:

Wenn das Quellobjekt (Person) keine passende Eigenschaft im Zielobjekt (People) besitzt, führt AutoMapper automatisch folgende Schritte aus:

  1. Aufteilung von Eigenschaften geschachtelter Objekte: Cn.Name → Ziel CnName
  2. Abgleich parameterloser Methoden, die mit Get beginnen: GetTotal() → Zieleigenschaft Total

Vollständiger Code

using AutoMapper;
using System;

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

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

            People peo = new People();

            // Mapping ausführen
            Mapper.Map(p, peo);

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

            Console.ReadKey();
        }
    }

    // Quellklasse
    class Person
    {
        public int Age { get; set; }
        // Geschachteltes Objekt
        public Chinese Cn { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }

        // Parameterlose Methode, die mit Get beginnt; wird automatisch der Total-Eigenschaft zugeordnet
        public decimal GetTotal()
        {
            return 100M;
        }
    }

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

    // Zielklasse
    class People
    {
        public int Age { get; set; }
        // Durch Flattening entstanden: Name-Eigenschaft des geschachtelten Objekts Cn zu CnName verkettet
        public string CnName { get; set; }
        public decimal Salary { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        // Durch Flattening entstanden: entspricht der GetTotal()-Methode der Quelle
        public decimal Total { get; set; }
    }
}

Zusammenfassung

  1. Automatische Verkettung geschachtelter Objekteigenschaften
    Quelle: Person.Cn.Name
    Zieleigenschaft: CnName
    AutoMapper verkettet automatisch das geschachtelte Objekt Cn und Name und weist das Ergebnis CnName zu. Ein manuelles ForMember ist nicht nötig.
  2. Abgleich parameterloser Methoden, die mit Get beginnen
    Quellmethode: public decimal GetTotal()
    Zieleigenschaft: public decimal Total
    Das Get-Präfix wird entfernt, und der Rückgabewert der Methode wird automatisch Total zugewiesen.

Hinweis: Die Methode muss parameterlos sein, damit diese Flattening-Regel greift.

Ausgabe

Jack Chan
100

Flattening-Mapping (Vereinfachtes Mapping)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert