У меня есть 2 объекта, BusinessCustomer и ORMCustomer
Я хочу иметь возможность сопоставлять одно с другим в моих действиях бизнес-уровня, таких как
- Скажите, если я загружаю ORMCustomer из базы данных, я хочу заполнить BusinessCustomer
- Или, если я работаю с BusinessCustomer и хочу сохранить в БД, я хочу заполнить ORMCustomer
В моем бизнес-слое я хочу иметь возможность что-то вроде:
Mapper.MapCustomer ( src , target )
Метод MapCustomer сможет определить направление отображения BusinessCustomer-> ORMCustomer или ORMCustomer-> BusinessCustomer
Я возился с Generics, но я не могу найти подходящее решение, как реализовать это в классе Mapper .
internal void MapCustomer<T, K>(T src, K target)
{
if (src.GetType() == typeof(BusinessCustomer))
{
MapBusinessCustomerToORMCustomer(src, target);
}
else if (src.GetType() == typeof(ORMCustomer))
{
MapORMCustomerToBusinessCustomer(src, target);
}
}
Есть мысли, как лучше всего это реализовать?