я иметь следующую структуру сущностей, что я хочу, чтобы отобразить до DtoAutomapper ребенок отображение с объектом в середине
Контекст лиц
public class CallPoint
{
public int Id { get; set; }
public string Name {get; set;}
public ICollection {UserCallPoint} UserCallPoints {get; set;}
}
public class UserCallPoint
{
public int Id {get; set;}
public CallPoint CallPoint {get; set;}
public User User {get; set;
}
public class User
{
public int Id {get; set;}
public string Email {get; set;}
public ICollection<UserCallPoint> UserCallPoints {get; set;
}
DTO
public class CallPointDto
{
public int Id { get; set; }
public string Name { get; set; }
public List<UserDto> Users { get; set; }
}
public class UserDto
{
public int Id { get; set; }
public string Email { get; set; }
public List<CallPointDto> CallPoints { get; set; }
}
Таким образом, в основном у меня есть много разных сопоставлений, но между ними существует сущность, которая действует как таблица поиска в основном. Как это сделать? Сейчас я просто перекручивание и отображение, как показано ниже, но это слишком медленно
private List<CallPointDto> MapCallPoint(List<CallPoint> callPoints)
{
List<CallPointDto> callPointDtos = new List<CallPointDto>();
foreach (var callPoint in callPoints)
{
var callPointDto = _mapper.Map<CallPointDto>(callPoint);
callPointDto.Users = new List<UserDto>();
foreach (var item in callPoint.UserCallPoints)
{
UserDto userDto = _mapper.Map<UserDto>(item.User);
callPointDto.Users.Add(userDto);
}
callPointDtos.Add(callPointDto);
}
return callPointDtos;
}
Как бы я сделать это с помощью пользовательского резольвера?
Я правильно понял, что 'CallPoints' на вашем' UserDto' не установлен? Это предназначено или должно быть установлено? Когда он должен быть установлен, существует вероятность, что вам нужно вызвать все «CallPoint», «UserCallPoint» и «User» из БД, потому что все они могут быть подключены. И действительно ли вы ищете CustomResolver или просто правильный способ сопоставить это? – Rabban
В принципе, если я пытаюсь сопоставить его с FromMember(), я зацикливаюсь в цикле, поскольку UserDto имеет много колл с CallPointDto, поэтому, если я устанавливаю его, он будет навсегда –
Это не отвечало ни на один из моих вопросов ^^ – Rabban