В сервисном уровне моего приложения на основе ASP.Net MVC у меня есть абстрактный сервис, который настроен так:
public abstract class Service<TEntity, TDto> : IService<TDto>
where TEntity : BaseEntity where TDto : IBaseDto
{
private readonly IUnitOfWork _unitOfWork;
private readonly IGenericRepository<TEntity> _repository;
protected Service(IUnitOfWork unitOfWork, IGenericRepository<TEntity> repository)
{
_unitOfWork = unitOfWork;
_repository = repository;
}
public virtual void Create(TDto entity)
{
if (entity == null)
{
throw new ArgumentNullException("entity");
}
//--------------------------------------------------
// HOWTO: Convert from TDto to TEntity
//--------------------------------------------------
_repository.Add(entity);
_unitOfWork.Commit();
}
}
Цель состоит в том, чтобы сохранить общие методы в этом абстрактном классе, чтобы я не повторялэто в каждой реализации сущностей.
Теперь проблема в том, что мне нужен какой-то способ преобразования TDto
в TEntity
в методе Create(TDto entity)
, описанном выше.Я не могу понять, как я могу сделать это с AutoMapper.