Сопоставление очень полезно в веб-разработке.
Существуют таблицы базы данных, которые содержат данные, и некоторые данные могут быть конфиденциальными.
Если вы работаете непосредственно с объектами базы данных, ваши данные становятся доступными, и это опасно и неэтично, поэтому вы сопоставляете эти сущности в ViewModels или Data-Transfer-Object, в которых вы выбираете, какие данные извлекать из сущности базы данных.
Представьте, что у вас есть сущность Customer:
public Customer {
public string Name {get;set;}
public string LastName {get;set;}
public double Bugdet {get;set;} //sensitive data
public double AmountSpent {get;set;} //sensitive data
public string CreditCardNumber{get;set;} //sensitive data
}
Таким образом, вы не можете использовать этот объект напрямую, потому что все данные будут доступны.
Вместо этого вы должны создать объект передачи данных (DTO), подобный этому, чтобы вы получали только необходимую информацию:
public CustomerDto {
public string Name {get;set;}
public string LastName {get;set;}
}
Автоматическое отображение - это процесс сопоставления объекта с DTO, который автоматически обрабатывается любой библиотекой.
Широко используется Automapper, который требует небольшой настройки.
Подробнее об AutoMapper здесь