0
我有我想要映射到一個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;
}
我該如何做一個自定義解析器?
我看到它的權利,您的'UserDto'上的'CallPoints'沒有設置?這是打算還是應該設置?當它應該被設置時,你可能需要從DB調用所有的'CallPoint','UserCallPoint'和'User',因爲它們都可以連接。你真的在尋找一個CustomResolver或者正確的方法來映射它嗎? – Rabban
基本上如果我試圖映射它與FromMember()我卡在一個循環作爲UserDto有很多與CallPointDto,所以如果我設置一個它永遠循環 –
這沒有回答我的任何問題^^ – Rabban