1、NuGet-Installationsschritte
- Erstellen Sie ein Konsolenprojekt (andere Projekttypen sind ebenfalls möglich, hier dient die Konsole nur der Demonstration).
- Suchen Sie im NuGet-Paketmanager nach AutoMapper (Autor: Jimmy Bogard).
- Klicken Sie auf Installieren. Wählen Sie eine Paketversion, die mit der .NET-Framework-Version Ihres Projekts kompatibel ist. Bei Versionskonflikten schlägt die Installation fehl.

Paket-Manager-Konsolenbefehl
Install‑Package AutoMapper
2、Erstellen der Entitätsklassen
class Person
{
public int Age { set; get; }
public string Name { set; get; }
public decimal Salary { set; get; }
public bool Sex { set; get; }
public DateTime Birthday { set; get; }
}
class People
{
public int Age { set; get; }
public string Name { set; get; }
public decimal Salary { set; get; }
public bool Sex { set; get; }
public DateTime Birthday { set; get; }
}Code-Sprache: JavaScript (javascript)
3、Beispiel
class Program
{
static void Main(string[] args)
{
// ① Initialisierung der Mapping-Konfiguration: Erstellung der Zuordnung Person → People
Mapper.Initialize(m => m.CreateMap<Person, People>());
// ② Instanziierung des Quellobjekts Person
Person p = new Person()
{
Age = 12,
Name = "Tom",
Birthday = DateTime.Now,
Sex = true,
Salary = 10000
};
// Das Zielobjekt darf nicht null sein und muss vorab instanziiert werden
People peo = new People();
// ③ Mapping ausführen: Kopieren der Werte aus dem Quellobjekt p in peo
Mapper.Map(p, peo);
// ④ Ergebnis nach dem Mapping auslesen
Console.WriteLine(peo.Name);
Console.ReadKey();
}
}Code-Sprache: JavaScript (javascript)
Wichtige Punkte
Mapper.Initialize: Registriert globale Mapping-Regeln. Sollte einmal beim Anwendungsstart ausgeführt werden, nicht wiederholt in einer Schleife.CreateMap<Quelltyp, Zieltyp>(): Deklariert die Zuordnung zwischen zwei Klassen.Mapper.Map(Quellobjekt, Zielobjekt): Das Zielobjekt muss bereits instanziiert sein, null darf nicht übergeben werden, sonst kommt es zu einem Fehler.- Konvention: Wenn Eigenschaftsname und -typ übereinstimmen, erfolgt der Kopiervorgang automatisch ohne zusätzliche Konfiguration.
Hinweis zur Version: Ab AutoMapper 10 wird die Verwendung von statischem
Mapper.Initialize / Mapper.Mapnicht mehr empfohlen. Stattdessen sollteIMapperper Dependency Injection eingebunden werden. Der obige Code dient nur Lernzwecken für ältere Versionen.
Vergleich mit manueller Zuweisung
- Manuell:
peo.Name=p.Name; peo.Age=p.Age;……– je mehr Felder, desto mehr Boilerplate-Code. - AutoMapper: Durch die Deklaration der Mapping-Beziehung werden alle gleichnamigen Eigenschaften automatisch kopiert.
Installation und erstes Beispiel
Previous: Was ist AutoMapper
Next: Profile konfigurieren