Installation und erstes Beispiel

1、NuGet-Installationsschritte

  1. Erstellen Sie ein Konsolenprojekt (andere Projekttypen sind ebenfalls möglich, hier dient die Konsole nur der Demonstration).
  2. Suchen Sie im NuGet-Paketmanager nach AutoMapper (Autor: Jimmy Bogard).
  3. 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

  1. Mapper.Initialize: Registriert globale Mapping-Regeln. Sollte einmal beim Anwendungsstart ausgeführt werden, nicht wiederholt in einer Schleife.
  2. CreateMap<Quelltyp, Zieltyp>(): Deklariert die Zuordnung zwischen zwei Klassen.
  3. Mapper.Map(Quellobjekt, Zielobjekt): Das Zielobjekt muss bereits instanziiert sein, null darf nicht übergeben werden, sonst kommt es zu einem Fehler.
  4. 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.Map nicht mehr empfohlen. Stattdessen sollte IMapper per 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert