AutoMapper, .NET platformunda nesneler arasındaki verilerin dönüştürülmesini (object-to-object mapping) kolaylaştıran açık kaynaklı bir kütüphanedir. 2009 yılında Jimmy Bogard tarafından geliştirilmiştir. Yazılım geliştirme sürecinde farklı katmanlarda kullanılan veri transfer nesneleri (DTO – Data Transfer Object) ve domain modelleri arasındaki dönüşümleri otomatikleştirerek, manuel kod yazma ihtiyacını en aza indirmektedir.
Kurumsal uygulamalarda çoğu zaman veritabanı modelleri (entity) ile dış dünyaya açılan API modelleri (DTO) aynı değildir. Bunların elle dönüştürülmesi çok sayıda tekrar eden kod (boilerplate code) üretir. AutoMapper, bu dönüşümü tek bir konfigürasyon üzerinden yaparak; kod tekrarını azaltmakta, bakımı kolaylaştırmakta, hata riskini düşürmekte ve okunabilirliği artırmaktadır.
AutoMapper, kaynak ve hedef sınıflar arasında bir eşleştirme (mapping) tanımı yapılmasını sağlar. Mapping tanımlandıktan sonra, kütüphane nesneler arasındaki alanları isim ve tür uyumuna göre otomatik olarak dönüştürmektedir.
Yukarıdaki kod örneğinde User sınıfında tanımlama yaptığımız Name ve Email değerini AutoMapper kütüphanesi ile otomatik olarak UserDto sınıfına eşleyebilmekteyiz.
AutoMapper kütüphanesinin temel özelliklerini şu şekilde listeleyebiliriz:
AutoMapper, günümüzde ASP.NET Core tabanlı projelerde en çok kullanılan kütüphanelerden biridir. Özellikle katmanlı mimarilerde yaygın şekilde tercih edilir. Visual Studio kod editörü içinde bulunan NuGet Paket Yöneticisi üzerinde kolayca erişilebilir ve açık kaynak topluluğu tarafından sürekli güncellenmektedir.
Henüz Tartışma Girilmemiştir
"AutoMapper" maddesi için tartışma başlatın
Neden AutoMapper'e İhtiyaç Duyarız?
Çalışma Mantığı
Temel Özellikleri
Günümüzde Kullanımı