logologo

AutoMapper

fav gif
Kaydet
viki star outline
AutoMapper
Sektör
Yazılım Geliştirme
Geliştirici
Jimmy Bogard
Web Siteleri
https://automapper.io/

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.

Neden AutoMapper'e İhtiyaç Duyarız?

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.

Çalışma Mantığı

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.


using AutoMapper;
public class User {
    public string Name { get; set; }
    public string Email { get; set; }
}
public class UserDto {
    public string Name { get; set; }
}
class Program {
    static void Main() {
        var config = new MapperConfiguration(cfg => {
            cfg.CreateMap<User, UserDto>();
        });
        IMapper mapper = config.CreateMapper();
        var user = new User { Name = "Ferhat", Email = "ferhat@example.com" };
        var userDto = mapper.Map<UserDto>(user);
    }
}

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.

Temel Özellikleri

AutoMapper kütüphanesinin temel özelliklerini şu şekilde listeleyebiliriz:

  • Alan isimleri ve türleri aynı olan nesneler otomatik eşleşir
  • Alan adları farklı olduğunda manuel konfigürasyon yapılabilir
  •  İç içe nesne yapıları otomatik dönüştürülebilir
  • Listeler, diziler gibi koleksiyonlar da otomatik çevrilebilir
  • Tek satırda çift yönlü mapping tanımlanabilir
  •  LINQ sorguları üzerinden direkt DTO’ya dönüşüm yapılabilir

Günümüzde Kullanımı

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.

Kaynakça

AutoMapper. “Documentation.” Erişim Tarihi: 16 Ağustos 2025. https://docs.automapper.io/

Bogard, Jimmy. “AutoMapper's Design Philosophy.” Erişim Tarihi: 16 Ağustos 2025. https://www.jimmybogard.com/automappers-design-philosophy/

Bogard, Jimmy. “AutoMapper Usage Guidelines.” Erişim Tarihi: 16 Ağustos 2025. https://www.jimmybogard.com/automapper-usage-guidelines/

AutoMapper. “Configuration.” Erişim Tarihi: 16 Ağustos 2025. https://docs.automapper.org/en/stable/Configuration.html

AutoMapper. “NuGet Package.” Erişim Tarihi: 16 Ağustos 2025. https://www.nuget.org/packages/automapper/

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
Ana YazarFerhat Çakmakoğlu16 Ağustos 2025 09:53
KÜRE'ye Sor