У нас есть база данных, слой домена и общий репозиторий (не мой выбор) от архитектора компании.
Попытка сопоставить класс Scaffold базы данных Employee с классом Domain Employee.Это код для сопоставления, если все имена членов класса в точности совпадают.
Mapper.CreateMap<EmployeeData, EmployeeDomain>();
Однако члены первичного ключа в классе базы данных имеют имя Id (для соответствия универсальному репозиторию).Итак, как мне создать унаследованную или новую функцию AutoMapper класса и сопоставить Id с EmployeeId в домене, сопоставляя другие члены?
Вот как вручную сопоставить Id с идентификатором сотрудника.Мне нужно создать функцию, принимающую любой класс (ProductId, SalesId, CustomerId и т. Д.), И сопоставить идентификатор с «ClassName» + id, в то же время правильно сопоставляя другие члены с таким же именем.
Mapper.CreateMap<EmployeeData, EmployeeDomain>()
.ForMember(dest => dest.EmployeeId, opt => opt.MapFrom(src => src.Id))
Функция в идеале должна бытьвозможность принимать другие функции Automapper, такие как .ReverseMap и т. д.