У меня есть интерфейс:
public interface IQueryResult<T> where T : IBaseEntity
{
PageInfo PageInfo { get; }
IEnumerable<T> Payload { get; }
}
Реализация:
public class QueryResult<T> : IQueryResult<T> where T : IBaseEntity
{
public QueryResult()
{
}
public QueryResult(IEnumerable<T> payload, PageInfo pageInfo)
{
Payload = payload;
PageInfo = pageInfo;
}
public QueryResult(IEnumerable<T> payload)
{
Payload = payload;
}
public IEnumerable<T> Payload { get; private set; }
public PageInfo PageInfo { get; private set; }
}
Конфигурация Mapper:
CreateMap<EntityA, DtoA>();
CreateMap<DtoA, EntityA>();
CreateMap<EntityB, DtoB>();
CreateMap<DtoB, EntityB>();
CreateMap(typeof(IQueryResult<>), typeof(IQueryResult<>));
Затем я хотел бы сделать это в контроллере :
IQueryResult<EntityA> entities = service.GetAll();
IQueryResult<DtoA> result = _mapper.Map<IQueryResult<DtoA>>(entities);
В настоящее время он не ломается, но проблема в том, что, поскольку свойства имеют частные установщики, свойства назначения являются нулевыми
Мне нужно как-то сказать, как это сделать чтобы отобразить свойства или использовать конструктор, я думаю