Migracja z Automapper na coś niekomercyjnego

Migracja z Automapper na coś niekomercyjnego
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 191
0

Mam w aplikacji proste mapowania z Automapperem jak poniżej. Na co innego niekomercyjnego zmigrować takie coś (Mapperly, Mapster, a może coś innego)? Doradźcie proszę co zrobi najmniej problemów.

Kopiuj
        public AutoMapperProfile()
        {
            CreateMap<GroupAnalyticData, GroupAnalyticDataDto>();
            CreateMap<ServiceItemGroupAnalyticData, ServiceItemGroupAnalyticDataDto>();

            CreateMap<Group, GroupDto>()
                .ReverseMap();

            CreateMap<Customer, CustomerDto>()
                .ReverseMap()
                .ForMember(dest => dest.ServiceItems, opt => opt.Ignore());

            CreateMap<ServiceItem, ServiceItemDto>()
                .ReverseMap();

            CreateMap<Invoice, InvoiceDto>()
                .ReverseMap()
                .ForMember(dest => dest.InvoiceItems, opt => opt.Ignore());

            CreateMap<InvoiceItem, InvoiceItemDto>()
                .ReverseMap();

            CreateMap<ServiceItemTemplate, ServiceItemTemplateDto>()
                .ReverseMap();

            CreateMap<ServiceItemTemplateValueMapping, ServiceItemTemplateValueMappingDto>()
                .ReverseMap();

            CreateMap<Audit, AuditDto>();
        }
RJ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 489
3

Powiem tak: nigdy nie byłem i nie zostanę fanem bibliotek mapujacych. Może jestem głupi, może nie, ale wolę to z lapy zmapowac na zasadzie że mam metodę membera w dest co sie zwie From<Cokolwiek> w dto i mapuje...

A co do zmigrowania - kup se licencje na Automappera albo wybierz swoja nową trucizne 😉

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1117
2

Trochę nie widzę zastosowania takich bibliotek w sytuacjach, gdy mamy LLMy potrafiące wygenerować taki boilerplate do postaci, która jest dużo prostsza do utrzymania z uwagi na to, że nie musisz się uczyć jak działa automapper tylko po prostu poprawiasz sobie to co ci nie pasuje

Podobnie jest z wszelaką maścią wszystkich ORMów

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
2

Ręczne mapowanie jest najlepsze w większości przypadków, AI autouzupełnia, masz pełną kontrolę, elastyczność i przede wszystkim wszystko jest explicit, nie ma magii, przypadkowego zmapowania czegoś czego nie chcesz lub w sposób jaki nie chcesz.

Jednak jak chcesz libkę do mapowania to najlepiej taką opartą o source generation, żeby nie zamulała refleksją i nie spowalniała aplikacji w runtime.
Polecam Mapperly https://github.com/riok/mapperly

bagietMajster
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 455
2

Jeśli już musisz to mapperly ale ja polecam ręcznie, casów gdzie to przyśpiesz programowanie to ja nie znalazłem bo zawsze jest ten jeden rodzynek, ten jeden prop który się nie zmapuje przez mapper i tak mu trzeba napisać ręcznie regułę w maperze.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Najmniej problemów daje kompilowany kod, więc polecam Mapperly

GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Zdecydowanie własny kod + pomoc AI 👍

ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Ręcznie napisany extension do mapowania.

Cała reszta tylko zaciemnia kod.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.