Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName - Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)
Concept
Par défaut, AutoMapper ne se contente pas de mapper les propriétés portant le même nom ; il applique également une règle de mise à plat (Flattening) :
Si l’objet source (Person) ne possède pas de propriété correspondante dans l’objet destination (People), AutoMapper effectue automatiquement les opérations suivantes :
- Il découpe les propriétés d’objets imbriqués :
Cn.Name→ propriété destinationCnName- Il recherche les méthodes sans paramètre commençant par
Get:GetTotal()→ propriété destinationTotal
Code complet
using AutoMapper;
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Initialiser la configuration AutoMapper
Mapper.Initialize(x =>
{
x.CreateMap();
});
// Objet source Person
Person p = new Person()
{
Age = 12,
Cn = new Chinese() { Name = "Jack Chan" },
Birthday = DateTime.Now,
Sex = true,
Salary = 5000
};
People peo = new People();
// Exécuter le mappage
Mapper.Map(p, peo);
Console.WriteLine(peo.CnName); // Sortie : Jack Chan [Aplatissage : Cn.Name → CnName]
Console.WriteLine(peo.Total); // Sortie : 100 [Aplatissage : GetTotal() → Total]
Console.ReadKey();
}
}
// Classe source
class Person
{
public int Age { get; set; }
// Objet imbriqué
public Chinese Cn { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Méthode sans paramètre commençant par Get, mappée automatiquement vers la propriété Total
public decimal GetTotal()
{
return 100M;
}
}
public class Chinese
{
public string Name { get; set; }
}
// Classe destination
class People
{
public int Age { get; set; }
// Résultat de l'aplatissage : concaténation de l'objet imbriqué Cn et de Name en CnName
public string CnName { get; set; }
public decimal Salary { get; set; }
public bool Sex { get; set; }
public DateTime Birthday { get; set; }
// Résultat de l'aplatissage : correspond à la méthode GetTotal() de la source
public decimal Total { get; set; }
}
}
Résumé
- Concaténation automatique des propriétés d’objets imbriqués
Source :Person.Cn.Name
Propriété destination :CnName
AutoMapper concatène automatiquement l’objet imbriquéCnetName, puis affecte le résultat àCnName. Aucun besoin de configurer manuellementForMember. - Correspondance des méthodes sans paramètre commençant par Get
Méthode source :public decimal GetTotal()
Propriété destination :public decimal Total
Le préfixeGetest supprimé, et la valeur de retour de la méthode est automatiquement affectée àTotal.
Note : La méthode doit être sans paramètre pour que cette règle d’aplatissage s’applique.
Sortie
Jack Chan
100
Mappage par mise à plat (Flattening)