AutoMapper C - инструмент для автоматического сопоставления объектов в C#
AutoMapper в C# - это библиотека, которая предназначена для упрощения процесса маппинга (преобразования) объектов одного типа в объекты другого типа. Это позволяет значительно сократить количество кода, необходимого для выполнения таких операций.
Пример использования AutoMapper:
Установка AutoMapper с помощью NuGet:
Install-Package AutoMapper
Создание классов-моделей, которые нужно преобразовать:
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class UserDTO
{
public int Id { get; set; }
public string FullName { get; set; }
}
Настройка AutoMapper:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap()
.ForMember(dest => dest.FullName, opt => opt.MapFrom(src => $"{src.FirstName} {src.LastName}"));
});
IMapper mapper = config.CreateMapper();
Преобразование объекта:
User user = new User
{
Id = 1,
FirstName = "John",
LastName = "Doe"
};
UserDTO userDTO = mapper.Map(user);
Console.WriteLine($"UserDTO: Id - {userDTO.Id}, FullName - {userDTO.FullName}");
Результат:
UserDTO: Id - 1, FullName - John Doe
В данном примере мы создали два класса - User и UserDTO. Класс User содержит поля Id, FirstName и LastName, а класс UserDTO содержит поля Id и FullName. Мы хотим преобразовать объект класса User в объект класса UserDTO.
С помощью AutoMapper мы настраиваем правила маппинга в методе CreateMap, указывая, что поле FullName в классе UserDTO должно соответствовать строке, содержащей значение поля FirstName и LastName в классе User.
Затем мы создаем объект MapperConfiguration, передаем в него настройки маппинга и создаем объект IMapper для выполнения преобразования.
В результате выполнения преобразования, поле Id объекта User будет скопировано в поле Id объекта UserDTO, а поле FullName будет заполнено сочетанием полей FirstName и LastName из объекта User.
На выходе мы получим объект класса UserDTO с преобразованными значениями полей:
UserDTO: Id - 1, FullName - John Doe
AutoMapper - это мощный инструмент для автоматического преобразования объектов в C#, который позволяет значительно упростить и ускорить работу с маппингом данных.